代码兼容、技巧

代码兼容、技巧

前端开发中,一个头疼的事,就是代码的不兼容,这里贴出自己在前端开发中的一些解决经验。除了其浏览器本身的BUG外,不建议使用CSS hack来解决兼容性问题的。

IE和FF下对”li“的的高度解析不同

可以不定义高度,直接定义行高。再让li浮动 消除IE的BUG。

IE3像素问题

出现3培训BUG 时, 可以采用右边层margin-right: -3px; 解决。

需要图片在层中是垂直居中

当需要图片在层中是垂直居中,可以图片定义vertical-align: middle;,再在图片左侧加入<span></span>,定义样式display: inline-block; height: 100%; vertical-align: middle; 就是兼容的了。

子元素浮动,父元素不能自动适应高度

FF IE7下可以在父元素定义overflow: auto; IE6加入 zoom: 1; 这个触发IE的.layout。或在浮动元素后加入在浮动层后面加入<br clear="all" style="line-height: 0" />。

IE6双边距

浮动元素的外边距会加倍,但与第一个浮动元素相邻的其他浮动元素外边距不会加倍。解决方法:在此浮动元素增加样式 display:inline;

IE下图片产生的间隙

父元素直接包含<img>,这个图片下方会和父元素边缘产生间隙。 解绝方法:1.在源代码中让</div> 和<img>在同一行,因为那个间隙是由换行符产生的。2.给<img>添加样式 display:block;

IE下高度低于14像素时问题

块元素最小高度为10px,当高度定义小于14px时,仍为12px 左右; 解决方法:为此块元素添加样式 overflow:hidden; 或font-size: 0;

IE,FF下列表的li为浮动,则列表后面的元素不能换行的问题

解决方法:为这个ul定义合适的高或给包含这个ul 的父div定义合适的高。或加上<br clear="all" style="line-height: 0" />

IE,FF下子元素的上下外边界问题

IE6:子元素的上边距和父元素的上内边距叠加。FF:子元素的上边距和父元素的上内边距相加。解决方法:1、给父元素定义内边距。2、父元素设置边框,子元素定义上外边距。3、父元素定义overflow: hidden;,子元素定义上外边距。

IE,FF高度自适应问题(最小高度)

在IE6下子元素的高度能够撑开父元素,但FF,IE7下不可以。解决办法:父元素定义min-height:高度值; height:auto !important; height:高度值; (要注意先后顺序不能错)

IE,FF高度自适应问题(最大高度,最小宽度,最大宽度)

最大高度,max-height: 180px; _height: expression( this.scrollHeight > 180 ? "180px" : "auto" ); 后面两条是解决IE6问题。

最小宽度,min-width: 900px; _width:expression((document.documentElement.clientWidth||document.body.clientWidth)<900?"900px":"");

最大宽度,max-width: 300px; _width:expression((document.documentElement.clientWidth||document.body.clientWidth)>300?"300px":"");

子元素负边距问题

IE6:超出父元素的部分会被父元素覆盖。FF:分两种情况当父元素有边框或内边距时,超出父元素的部分会覆盖父元素;没有时父元素拥有负边距。解决方法:子元素定义相对定位。

IE6诡异的奇数BUG

当父元素相对定位,子元素绝对定位时,倘若父元素的高或宽的数值是奇数,那么IE6下绝对位置会出错。解决方法: 数值改成偶数,IE6是大侠,只要服从它。

IE6和IE7下,相对定位元素不能滚动的Bug

这个BUG以前没遇到过,近期配合自动滚屏时遇到了,开始以为是JS问题,在哪找啊找,后来无果,尝试看看是不是CSS的问题,果不其然,万 恶的IE6,7,当设置了position: relative后,其元素就不能滚动了,要想解决其BUG,需要使其包裹他们的父元素也相对定位,这个时候IE7可以完美解决,IE6嘛,里面的定位坐 标可能需要实时修正下。

li元素中有右浮动,同时此元素还是英文数字

此种情况,正常下由于li不清除浮动,也不会有影响,但是对与Opear,哈哈,杯具来了,两种方法,清除每个li的浮动,再就是定义字体为 宋体。究其原因,清浮动好理解,但是为什么宋体也能解决。不过了这个BUG是Opear的.同时当li浮动后,其内部若有inline-block元素, 其父元素的行高和高对其不会产生效果,这一现象出现在此种情况,正常下由于li不清除浮动,也不会有影响,但是对与Opear

input、button在IE下随文字增加内补丁也增加

不管你怎么写margin:0;padding:0;都去不掉,唯一的解决办法是overflow:visible。

ul浮动引起的li双倍间距,IE6下

大伙听到可能会说,这不是IE6的浮动双间距BUG,其实不然,是的话也就不在这里说了。很困惑,让其LI也浮动,无果。其他浏览器正常,那 该是什么呢,退回到原始状态,我们已经定义list-style: none; 应该不会有默认的什么产生。查看ul,li的基本属性,发现有个list-style-position,列表项目标记放置在文本以内是否对齐,两个值, 默认的outside,不对其。还有inside,对其。那么会不会是他影响。不死心,强制定义下list-style-position: outside;哈哈,一切变的和谐了,既然是默认的,IE6啊,真实整死人不偿命啊,此后,我对li的重置里直接加了这条。

IE8下两个inline标签的问题

当我们让两个inline标签在一行,且中间没有空格,这一般是很正常的写法如label后面跟个span。这个时候倘若只定义行高,那问题来了,其他解析正常。IE8会多出两个像素。一般解决的话,就是两个inline标签换行写.或者给它定义高度。

来自:http://www.webfeike.net/d2/content/op_code.htm

转载于:https://www.cnblogs.com/wpbars/p/3401009.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/377627.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows Phone 7 自定义事件

在Windows Phone的应用开发里面&#xff0c;对于事件这种东西我们可以随处可见&#xff0c;系统本来就已经封装好了各种各样的事件机制&#xff0c;如按钮的单击事件等等的。在实际的开发中&#xff0c;我们需要自己去给相关的类自定义一些事件来满足业务的要求&#xff0c;特别…

getcwd函数_PHP getcwd()函数与示例

getcwd函数PHP getcwd()函数 (PHP getcwd() function) The full form of getcwd is "Get Current Working Directory", the function getcwd() is used to get the name of the current working directory, it does not accept any parameter and returns the curren…

十四、数据库的导出和导入的两种方法

一、以SQL脚本格式导出&#xff08;推荐&#xff09; 导出 右击需要导出的数据库&#xff0c;任务—>生成脚本 下一步 选择要导出的数据库&#xff0c;下一步 内容根据需求修改&#xff0c;没啥需求直接下一步 勾选 表 勾选需要导出的数据库中的表 选择脚本保存的路…

Apache中 RewriteCond 规则参数介绍

RewriteCond就像我们程序中的if语句一样&#xff0c;表示如果符合某个或某几个条件则执行RewriteCond下面紧邻的RewriteRule语句&#xff0c;这就是RewriteCond最原始、基础的功能&#xff0c;为了方便理解&#xff0c;下面来看看几个例子。RewriteEngine onRewriteCond %{HTT…

【C++grammar】文件I/O流的基本用法

目录1、输入输出类介绍1.C/C文件操作对比2.什么是流&#xff1f;3.C I/O流类层次4.带缓冲的输入输出5.gcc编译器cin.in_avail()2、向文件写入数据1.写文件小练习2.如何将信息同时输出到文件和屏幕&#xff1f;3、从文件读数据1.检测文件是否成功打开2.检测是否已到文件末尾3.读…

作业2 分支循环结构

书本第39页 习题2 1.输入2个整数num1和num2.计算并输出它们的和&#xff0c;差&#xff0c;积&#xff0c;商&#xff0c;余数。 //输入2个整数num1和num2.计算并输出它们的和&#xff0c;差&#xff0c;积&#xff0c;商&#xff0c;余数。//#include<stdio.h> int main…

求一个序列中最大的子序列_最大的斐波那契子序列

求一个序列中最大的子序列Problem statement: 问题陈述&#xff1a; Given an array with positive number the task to find the largest subsequence from array that contain elements which are Fibonacci numbers. 给定一个具有正数的数组&#xff0c;任务是从包含菲波纳…

十三、系统优化

系统整体框架图 程序运行进入纺织面料库存管理系统主页面 用户子系统功能演示&#xff1a; 1&#xff0c;点击用户登录进入用户登录页面&#xff0c;可以注册和找回密码 2&#xff0c;注册新用户&#xff0c;账号、密码、性别、手机号均有限制&#xff0c;用户注册需要按指定…

时间工具类[DateUtil]

View Code 1 package com.ly.util;2 3 import java.text.DateFormat;4 import java.text.ParseException;5 import java.text.SimpleDateFormat;6 import java.util.Calendar;7 import java.util.Date;8 9 /**10 * 11 * 功能描述12 * 13 * authorAdministrator14 * Date Jul 19…

JQuery delegate多次绑定的解决办法

我用delegate来控制分页&#xff0c;查询的时候会造成多次绑定 //前一页、后一页触发 1 $("body").delegate("#tableFoot a:not(a.btn)", "click", function () { 2 _options.page $(this).attr("page"); 3 loadTmpl(_option…

leetcode 45. 跳跃游戏 II 思考分析

题目 给定一个非负整数数组&#xff0c;你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 示例: 输入: [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 …

C程序实现冒泡排序

Bubble Sort is a simple, stable, and in-place sorting algorithm. 气泡排序是一种简单&#xff0c;稳定且就地的排序算法。 A stable sorting algorithm is the one where two keys having equal values appear in the same order in the sorted output array as it is pre…

一、爬虫基本概念

一、爬虫根据使用场景分类 爬虫&#xff1a; 通过编写程序&#xff0c;模拟浏览器上网&#xff0c;让其去互联网上抓取数据的过程。 ① 通用爬虫&#xff1a;抓取系统重要的组成部分&#xff0c;抓取的是一整张页面的数据 ② 聚焦爬虫&#xff1a;建立在通用爬虫的基础之上&am…

经营你的iOS应用日志(二):异常日志

如果你去4S店修车&#xff0c;给小工说你的车哪天怎么样怎么样了&#xff0c;小工有可能会立即搬出一台电脑&#xff0c;插上行车电脑把日志打出来&#xff0c;然后告诉你你的车发生过什么故障。汽车尚且如此&#xff0c;何况移动互联网应用呢。 本文第一篇&#xff1a;经营你的…

Discuz 升级X3问题汇总整理

最近一段时间公司的社区垃圾帖数量陡然上涨&#xff0c;以至于社区首页的推荐版块满满都是垃圾帖的身影&#xff0c;为了进一步解决垃圾帖问题我们整整花了1天时间删垃圾贴&#xff0c;清除不良用户&#xff0c;删的手都酸了&#xff0c;可见垃圾帖的数量之多&#xff01;可耻的…

【C++grammar】格式化输出与I/O流函数

目录1、格式化输出1. setw manipulator(“设置域宽”控制符)2. setprecision manipulator(“设置浮点精度”控制符)3. setfill manipulator(“设置填充字符”控制符)4. Formatting Output in File Operation(在文件操作中格式化输入/输出)5.小练习2、用于输入/输出流的函数1. g…

python 忽略 异常_如何忽略Python中的异常?

python 忽略 异常什么是例外&#xff1f; (What is an Exception?) An exception is an event, which occurs during the execution of a program that interrupts the normal execution of the application. Generally, any application when encountered with a situation t…

三、实战---爬取百度指定词条所对应的结果页面(一个简单的页面采集器)

在第一篇博文中也提及到User-Agent&#xff0c;表示请求载体的身份&#xff0c;也就是说明通过什么浏览器进行访问服务器的&#xff0c;这一点很重要。 ① UA检测 门户网站服务器会检测请求载体的身份。如果检测到载体的身份表示为某一款浏览器的请求&#xff0c;则说明这是一…

Spring MVC拦截器实现分析

SpringMVC的拦截器不同于Spring的拦截器&#xff0c;SpringMVC具有统一的入口DispatcherServlet&#xff0c;所有的请求都通过DispatcherServlet&#xff0c;所以只需要在DispatcherServlet上做文章即可&#xff0c;DispatcherServlet也没有代理&#xff0c;同时SpringMVC管理的…

硕士毕业后去国外读法学博士_法学硕士的完整形式是什么?

硕士毕业后去国外读法学博士法学硕士&#xff1a;豆科大法师(拉丁)/法学硕士 (LLM: Legum Magister (Latin)/ Master of Law) LLM is an abbreviation of Legum Magister. It is in term of Latin which states the masters degree of Law. In the majority, LLM is generally …