posted on 2013-04-12 16:25
xcp 阅读(1738)
评论(0) 编辑 收藏 所属分类:
css
今天,在做毕业设计的时候,做到一个新闻列表的时候,被垃圾ie6样式卡住了!先上一张对比图片。
正如,图片上的说明:在ie6(没有测试ie7或更高版本)li标签的第一条“联系凯发k8网页登录”,没有前面的:点。看一下我的demo代码啊吧~
<body>
<style type="text/css">
.news-list{
width:200px;
background:#0f0;
}
.news-list ol{
padding:10px 10px 10px 10px;
}
.news-list li{
height:20px;
list-style:disc inside;
}
style>
<div class="news-list">
<ol><li>联系凯发k8网页登录li>
<li>关于凯发k8网页登录li>
<li>哈哈li>
ol>
div>
body>
要触发这个bug有不少“要点”啊!第一 、.news-list ol{ padding:10px 10px 10px 10px;} 这条样式必须要有,更确切的说是第一个“10px”必须有,当然你可以换成其他像素值,零除外!当改成0之后这个bug就没有了~,这也就是我为什么把这个分开写,没直接写成:.news-list ol{ padding:10px ;},这样的原因。
第二点、 .news-list li{ height:20px; list-style:disc inside;},这个里面也有一个必要的:高度。当你把这个高度去掉的时候,你会发现这个bug也会消失。
有上面这两个“苛刻”的条件,估计也就是为什么很少有人碰到的原因吧!知道了原因解决当然不是问题。从上面的两点就可以很好的解决这bug了。
方法一、当然就是准对第一个条件的,如果可以去掉padding。
方法二、当然也是在不影响布局的情况下:去掉 height
方法三、任然还是去掉:.news-list ol{ padding:10px 10px 10px 10px;} 这条样式,同时在ol标签的父标签(这里的父标签就是
了,当然你还可以在这个中间加入一个div)中加入这条样式。这样既不会影响布局,又能很好的解决这个bug,
下面是我的第三种解决方法代码:
<body>
<style type="text/css">
.news-list{
width:200px;
background:#0f0;
padding:10px 10px 10px 10px;
}
.news-list li{
height:20px;
list-style:disc inside;
}
style>
<div class="news-list">
<ol><li>联系凯发k8网页登录li>
<li>关于凯发k8网页登录li>
<li>哈哈li>
ol>
div>
body>
名称: ♪4c.esl | .↗evon
口号: 遇到新问题♪先要寻找一个方案乄而不是创造一个方案こ
mail: