<转>css在FF和IE下的区别

本文提供了一系列CSS兼容性问题的解决方案,包括不同浏览器如Firefox与IE系列对于CSS解析的差异处理方法,例如盒模型、浮动、清除浮动等问题的解决技巧。

      FireFox: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行

  FireFox: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中

  FireFox: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 width

  FireFox: 支持 !important, IE 则忽略, 可用 !important 为 FireFox 特别设置样式

  div 的垂直居中问题: vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行

  cursor: pointer 可以同时在 IE FireFox 中显示游标手指状, hand 仅 IE 可以

  FireFox: 链接加边框和背景色,需设置 display: block, 同时设置 float: left 保证不换行。参照 menubar, 给 a 和 menubar 设置高度是为了避免底边显示错位, 若不设 height, 可以在 menubar 中插入一个空格

仅IE7识别

  *+html {…}

  当面临需要只针对IE7做样式的时候就可以采用这个HACK。

  IE6及IE6以下识别

  * html {…}

  这个地方要特别注意很多地主都写了是IE6的HACK其实IE5.x同样可以识别这个HACK。其它浏览器不识别。

  html/**/ >body select {……}

  这句与上一句的作用相同。

  仅IE6不识别

  select { display /*IE6不识别*/:none;}

  这里主要是通过CSS注释分开一个属性与值,流释在冒号前。

  仅IE6与IE5不识别

  select/**/ { display /*IE6,IE5不识别*/:none;}

  这里与上面一句不同的是在选择符与花括号之间多了一个CSS注释。

  仅IE5不识别

  select/*IE5不识别*/ { display:none;}

  这一句是在上一句中去掉了属性区的注释。只有IE5不识别

  盒模型解决方法

  selct {width:IE5.x宽度; voice-family :""}""; voice-family:inherit; width:正确宽度;}

  盒模型的清除方法不是通过!important来处理的。这点要明确。

  清除浮动 本文来自http://bianceng.cn(编程入门)

  select:after {content:"."; display:block; height:0; clear:both; visibility:hidden;}

  在Firefox中,当子级都为浮动时,那么父级的高度就无法完全的包住整个子级,那么这时用这个清除浮动的HACK来对父级做一次定义,那么就可以解决这个问题 。

  

  截字省略号

  select { -o-text-overflow:ellipsis; text-overflow:ellipsis; white-space:nowrap; overflow:hidden; }

  这个是在越出长度后会自行的截掉多出部分的文字,并以省略号结尾,很好的一个技术。只是目前Firefox并不支持。

  XHTML+CSS兼容性解决方案小集

  使用XHTML+CSS构架好处不少,但也确实存在一些问题,不论是因为使用不熟练还是思路不清晰,我就先把一些我遇到的问题写在下面:

  1.在mozilla firefox和IE中的BOX模型解释不一致导致相差2px解决方法:

  div{margin:30px!important;margin:28px;}注意这两个margin的顺序一定不能写反,据阿捷的说法!important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样:

  div{maring:30px;margin:28px}重复定义的话按照最后一个来执行,所以不可以只写margin:XXpx!important;

  2.IE5 和IE6的BOX解释不一致IE5下div{width:300px;margin:0 10px 0 10px;}div的宽度会被解释为300px-10px(右填充)-10px(左填充)最终div的宽度为280px,而在IE6和其他浏览器上宽度则 是以300px+10px(右填充)+10px(左填充)=320px来计算的。这时可以做如下修改

  div{width:300px!important;width /**/:340px;margin:0 10px 0 10px}

  3.ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值所以先定义

  ul{margin:0;padding:0;}就能解决大部分问题

  4.关于脚本,在xhtml1.1中不支持language属性,只需要把代码改为

  <script type=”text/javascript”>

  FireFox: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行

  IE怎么不行? .div{width:100px;margin:0 auto;}一样居中

  FireFox: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 width

  这个是ie对css盒模型解释有问题造成的,只能迁就它

  FireFox: 支持 !important, IE 则忽略, 可用 !important 为 FireFox 特别设置样式

  IE7 一样兼容 !important 了

  cursor: pointer 可以同时在 IE FireFox 中显示游标手指状, hand 仅 IE 可以

  pointer是标准的写法,hand是ie6之前版本自行定义的

  补充:

  ie6有margin双倍外补丁bug,需要做css .hack

  firefox更符合标准,在浮动和清除浮动上需要特别注意,而ie容错性比较好

  ie中height小于一定值(可能是18px)时,可能会在页面上体现不出来,需要overflow:hidden;而firefox可以完全体现height;

  装好ie6 ie7 ff2大致写个一两个页面就知道大概的不同了,其实不难

  屏蔽IE浏览器(也就是IE下不显示)

  

  *:lang(zh) select {font:12px !important;} /*FF的专用*/

  select:empty {font:12px !important;} /*safari可见*/

  这里select是选择符,根据情况更换。第二句是MAC上safari浏览器独有的

只有Opera识别

  @media all and (min-width: 0px){ select {……} }

  针对Opera浏览器做单独的设定。

  以上都是写CSS中的一些HACK,这些都是用来解决局部的兼容性问题,如果希望把兼容性的内容也分离出来,不妨试一下下面的几种过滤器。这些过滤器有的是写在CSS中通过过滤器导入特别的样式,也有的是写在HTML中的通过条件来链接或是导入需要的补丁样式。

  IE5.x的过滤器,只有IE5.x可见

  IE的if条件Hack

  <!--[if IE]> Only IE <![endif]-->

  所有的IE可识别

  <!--[if IE 5.0]> Only IE 5.0 <![endif]-->

  只有IE5.0可以识别

  <!--[if gt IE 5.0]> Only IE 5.0+ <![endif]-->

  IE5.0包换IE5.5都可以识别

  <!--[if lt IE 6]> Only IE 6- <![endif]-->

  仅IE6可识别

  <!--[if gte IE 6]> Only IE 6/+ <![endif]-->

  IE6以及IE6以下的IE5.x都可识别

  <!--[if lte IE 7]> Only IE 7/- <![endif]-->

  仅IE7可识别

  以上内容可能并不全面,欢迎大家能和我一起把这些技巧都汇总起来,为以后工作的查询提供一个方便,同时在这里感谢那些研究出这些HACK的作者们。

  @media tty {

  i{content:"";/*" "*/}} @import ''ie5win.css''; /*";}

  }/* */

  IE5/MAC的过滤器,一般用不着

  [Copy to clipboard] [ - ]CODE:

  /**//*/

  @import "ie5mac.css";

  /**/

 

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>太阳系行星数据</title> <link href="minimal-table.css" rel="stylesheet"> </head> <body> <h1>太阳系行星数据</h1> <header> <table id="table"> <caption> 太阳系中行星的一些数据。(资料取自<a href="http://nssdc.gsfc.nasa.gov/planetary/factsheet/">NASA 行星数据 - 公制</a>,图片取自<a href="https://www.nasa.gov/multimedia/imagegallery/">NASA 照片库。</a>) </caption> <thead> <td colspan="2"></td> <th scope="col" class="name-column" >名字</th> <th scope="col">图片</th> <th scope="col">质量 (10<sup>24</sup>kg)</th> <th scope="col">直径 (km)</th> <th scope="col">密度 (kg/m<sup>3</sup>)</th> <th scope="col">重力 (m/s<sup>2</sup>)</th> <th scope="col">天长 (小时)</th> <th scope="col">平均温度 (°C)</th> <th scope="col">卫星数量</th> <th scope="col">备注</th> </thead> <tbody> <tr> <th colspan="2" rowspan="4" scope="rowgroup">类地行星</th> <th>水星</th> <td>0.330</td> <td>4879</td> <td>5427</td> <td>3.7</td> <td>4222.6</td> <td>57.9</td> <td>167</td> <td>0</td> <td>距太阳最近</td> </tr> <tr> <th>金星</th> <td>4.87</td> <td>12104</td> <td>5243</td> <td>8.9</td> <td>2802.0</td> <td>108.2</td> <td>464</td> <td>0</td> <td></td> </tr> <tr> <th>地球</th> <td>5.97</td> <td>12756</td> <td>5514</td> <td>9.8</td> <td>24.0</td> <td>149.6</td> <td>15</td> <td>1</td> <td>我们的世界</td> </tr> <tr> <th>火星</th> <td>0.642</td> <td>6792</td> <td>3933</td> <td>3.7</td> <td>24.7</td> <td>227.9</td> <td>-65</td> <td>2</td> <td>红色星球</td> </tr> <tr> <th rowspan="4" scope="rowgroup">类木行星</thead> <th rowspan="2" scope="rowgroup">气巨星</th> <th>木星</th> <td>1898</td> <td>142984</td> <td>1326</td> <td>23.1</td> <td>9.9</td> <td>778.6</td> <td>-110</td> <td>67</td> <td>太阳系最大</td> </tr> <tr> <th>土星</th> <td>568</td> <td>120536</td> <td>687</td> <td>9.1</td> <td>10.7</td> <td>1433.5</td> <td>-140</td> <td>62</td> <td></td> </tr> <tr> <th rowspan="2" scope="rowgroup">冰巨星</th> <th>天王星</th> <td>86.8</td> <td>51118</td> <td>1271</td> <td>8.7</td> <td>17.2</td> <td>2872.5</td> <td>-195</td> <td>27</td> <td></td> </tr> <tr> <th>海王星</th> <td>102</td> <td>49528</td> <td>1631</td> <td>11.0</td> <td>16.1</td> <td>4495.1</td> <td>-200</td> <td>14</td> <td></td> </tr> <tr> <th colspan="2" scope="row">矮行星</th> <th>冥王星</th> <td>0.0146</td> <td>2370</td> <td>2095</td> <td>0.7</td> <td>153.3</td> <td>5906.4</td> <td>-225</td> <td>5</td> <td>2006年降格,但<a href="http://www.usatoday.com/story/tech/2014/10/02/pluto-planet-solar-system/16578959/">尚存争议</a></td> </tr> </tbody> </table> </body> </html> 这个是全部代码。我现在要在“名字”这一列添加一个整体的黑色边框应该怎么弄
08-06
### 丰富蜡笔小新主题网页设计的详细方案 以下是一个基于现有要求更丰富内容的设计方案,增加了标题、段落、图片、列表、表格等元素,并保持HTMLCSS分离,代码清晰且带注释。 --- #### 文件结构 ``` project/ │ ├── index.html # 首页 ├── about.html # 关于蜡笔小新的页面 ├── characters.html # 角色介绍页面 ├── gallery.html # 图片画廊页面 ├── contact.html # 联系我们页面 ├── css/ │ └── styles.css # 样式文件 └── images/ # 图片资源目录 ``` --- ### 1. `index.html` (首页) ```html <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>蜡笔小新 - 首页</title> <link rel="stylesheet" href="css/styles.css"> </head> <body> <!-- 导航栏 --> <nav class="navbar"> <ul> <li><a href="index.html">首页</a></li> <li><a href="about.html">关于蜡笔小新</a></li> <li><a href="characters.html">角色介绍</a></li> <li><a href="gallery.html">图片画廊</a></li> <li><a href="contact.html">联系我们</a></li> </ul> </nav> <!-- 主内容区 --> <div class="main-content"> <h1>欢迎来到蜡笔小新世界!</h1> <p>这是一个关于蜡笔小新的多页面网站。</p> <img src="images/home.jpg" alt="首页图片" class="image"> <table border="1" cellpadding="5"> <caption>主要角色列表</caption> <tr> <th>角色名</th> <th>年龄</th> <th>特点</th> </tr> <tr> <td>野原新之助</td> <td>5岁</td> <td>调皮可爱</td> </tr> <tr> <td>野原美伢</td> <td>28岁</td> <td>温柔贤惠</td> </tr> </table> </div> <!-- 脚注 --> <footer> <p>© 2023 蜡笔小新官方网站</p> </footer> </body> </html> ``` --- ### 2. `about.html` (关于蜡笔小新的页面) ```html <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>蜡笔小新 - 关于蜡笔小新</title> <link rel="stylesheet" href="css/styles.css"> </head> <body> <nav class="navbar"> <ul> <li><a href="index.html">首页</a></li> <li><a href="about.html">关于蜡笔小新</a></li> <li><a href="characters.html">角色介绍</a></li> <li><a href="gallery.html">图片画廊</a></li> <li><a href="contact.html">联系我们</a></li> </ul> </nav> <div class="main-content"> <h1>关于蜡笔小新</h1> <p>蜡笔小新是由臼井仪人创作的漫画作品,讲述了五岁男孩野原新之助的生活故事。</p> <img src="images/about.jpg" alt="关于蜡笔小新" class="image"> <ul> <li>作者:臼井仪人</li> <li>首次出版年份:1990年</li> <li>类型:喜剧</li> </ul> </div> <footer> <p>© 2023 蜡笔小新官方网站</p> </footer> </body> </html> ``` --- ### 3. `characters.html` (角色介绍页面) ```html <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>蜡笔小新 - 角色介绍</title> <link rel="stylesheet" href="css/styles.css"> </head> <body> <nav class="navbar"> <ul> <li><a href="index.html">首页</a></li> <li><a href="about.html">关于蜡笔小新</a></li> <li><a href="characters.html">角色介绍</a></li> <li><a href="gallery.html">图片画廊</a></li> <li><a href="contact.html">联系我们</a></li> </ul> </nav> <div class="main-content"> <h1>角色介绍</h1> <ol> <li><strong>野原新之助:</strong>五岁的调皮男孩,喜欢恶作剧。</li> <li><strong>野原美伢:</strong>新之助的母亲,温柔但有时严厉。</li> <li><strong>野原广志:</strong>新之助的父亲,工作努力但有点懒散。</li> <li><strong>小白:</strong>家里的宠物狗,聪明伶俐。</li> </ol> <img src="images/characters.jpg" alt="角色介绍" class="image"> </div> <footer> <p>© 2023 蜡笔小新官方网站</p> </footer> </body> </html> ``` --- ### 4. `gallery.html` (图片画廊页面) ```html <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>蜡笔小新 - 图片画廊</title> <link rel="stylesheet" href="css/styles.css"> </head> <body> <nav class="navbar"> <ul> <li><a href="index.html">首页</a></li> <li><a href="about.html">关于蜡笔小新</a></li> <li><a href="characters.html">角色介绍</a></li> <li><a href="gallery.html">图片画廊</a></li> <li><a href="contact.html">联系我们</a></li> </ul> </nav> <div class="main-content"> <h1>图片画廊</h1> <div class="gallery"> <img src="images/gallery1.jpg" alt="图片1" class="image"> <img src="images/gallery2.jpg" alt="图片2" class="image"> <img src="images/gallery3.jpg" alt="图片3" class="image"> </div> </div> <footer> <p>© 2023 蜡笔小新官方网站</p> </footer> </body> </html> ``` --- ### 5. `contact.html` (联系我们页面) ```html <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>蜡笔小新 - 联系我们</title> <link rel="stylesheet" href="css/styles.css"> </head> <body> <nav class="navbar"> <ul> <li><a href="index.html">首页</a></li> <li><a href="about.html">关于蜡笔小新</a></li> <li><a href="characters.html">角色介绍</a></li> <li><a href="gallery.html">图片画廊</a></li> <li><a href="contact.html">联系我们</a></li> </ul> </nav> <div class="main-content"> <h1>联系我们</h1> <form action="#" method="post"> <label for="name">姓名:</label> <input type="text" id="name" name="name" required> <br><br> <label for="email">邮箱:</label> <input type="email" id="email" name="email" required> <br><br> <label for="message">留言:</label> <textarea id="message" name="message" rows="5" cols="30" required></textarea> <br><br> <input type="submit" value="提交"> </form> </div> <footer> <p>© 2023 蜡笔小新官方网站</p> </footer> </body> </html> ``` --- ### 6. `styles.css` (样式文件) ```css /* 全局样式 */ body { font-family: Arial, sans-serif; margin: 0; padding: 0; line-height: 1.6; } /* 导航栏样式 */ .navbar ul { list-style-type: none; background-color: #f4f4f4; padding: 0; overflow: hidden; } .navbar li { float: left; } .navbar li a { display: block; color: #333; text-align: center; padding: 14px 16px; text-decoration: none; } .navbar li a:hover { background-color: #ddd; } /* 主内容区样式 */ .main-content { padding: 20px; min-height: 100vh; /* 页面高度大于一屏 */ } .main-content h1 { text-align: center; } .main-content .image { max-width: 100%; height: auto; display: block; margin: auto; } /* 表格样式 */ table { width: 100%; border-collapse: collapse; margin-top: 20px; } table caption { font-size: 1.2em; margin-bottom: 10px; } /* 脚注样式 */ footer { text-align: center; padding: 10px; background-color: #f4f4f4; position: relative; bottom: 0; width: 100%; } ``` 你给的这些html代码还是内容不够丰富,能不能多一点
06-02
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值