关于ol有序列表的小事儿...

这两天在制作电影排行榜的页面.

使用ol有序列表的时候,遇到了一个小的趣事.整理出来如下.

BUG: 出现场景:使用OL.IE6,IE7.

代码如下:

复制代码
 <style type="text/css">
.testol li
{height:20px;}
</style>
<ol class="testol">
<li>马嵬坡下泥土中,</li>
<li>不见玉颜空死处.</li>
<li>君臣相顾尽沾衣,</li>
<li>东望都门信马归.</li>
<li>归来池苑皆依旧,</li>
<li>太液芙蓉未央柳.</li>
<li>芙蓉如面柳如眉,</li>
<li>对此如何不泪垂?</li>
</ol>
复制代码

我们理想状态是介个样子:

图:

 

可是,在IE6,7下却是介个样子.

图:

 

  太让人费解了...难道说IE67又抽风了?
     于是我就又改了一下代码,并进行了一下测试.

代码如下:

复制代码
 <style type="text/css">
.testli
{*zoom:1;}
</style>
<ol>
<li>马嵬坡下泥土中,</li>
<li>不见玉颜空死处.</li>
<li>君臣相顾尽沾衣,</li>
<li class="testli">东望都门信马归.</li>
<li>归来池苑皆依旧,</li>
<li>太液芙蓉未央柳.</li>
<li>芙蓉如面柳如眉,</li>
<li>对此如何不泪垂?</li>
</ol>
复制代码

果然,结果是介个样子的.

原来..ol或者ol中单个的li获得了 layout 后都会影响列表的表现.尤其在IE6,7中列表的符号.它认为它自己有了layout了..于是决定脱离组织了.于是有了自己的计数器.

而悲哀的是,我们却对这种行为只能听之任之,我们无法通过外部去修正或去影响它的"内部机制".

所以当我们使用OL以实现有序排列的时候,应小心谨慎的在OL和LI上操作,尽量避免触发他的layout以求得页面的正确性.

例如. 限定尺寸我们可以用padding,或是把li里的元素单独设置高度.

复制代码
 <style type="text/css">
.testa
{display:block;height:40px;line-height:40px;}
</style>
<ol>
<li>马嵬坡下泥土中,</li>
<li>不见玉颜空死处.</li>
<li>君臣相顾尽沾衣,</li>
<li>东望都门信马归.</li>
<li><a href="" class="testa">归来池苑皆依旧</a></li>
<li>太液芙蓉未央柳.</li>
<li>芙蓉如面柳如眉,</li>
<li>对此如何不泪垂?</li>
</ol>
复制代码
图:

 

 

posted @   荒漠千蝶  阅读(621)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示