找回密码
 注册

[HTML] html css ol li 不显示序号或序号全部为1

php 发表于 2014/3/15 17:59 | 显示全部楼层 |阅读模式
html ol 和 ul 区别之一就是 ol 标签下面的 li 标签会自动带上序号,而是 ul 下面的 li 标签不会。
如果 ol li 标签没有序号,原因很简单, 就是你重置了 ol 标签的左内边距,即 padding-left
要使用 ol li 标签正常显示序号,必须保证 ol 标签有 20px 左右的左内边距,即 padding-left: 20px;
浏览器默认是会显示ol li 标签的序号的,但为什么我们写出来的网页却不能显示序号呢?
那是因为你对浏览器默认样式进行了重置。
大多数情况下我们会使用以下CSS代码来重置浏览器默认样式
  1. *{margin:0;padding:0;}
复制代码
这样一样,ol 标签的左内边距就被重置为0. 导致序号消失。

要解决这个问题有两个方法:
方法一.  对 ol 标签设置 20px 以上的左内边距,即
  1. ol{padding-left: 20px;}
复制代码
方法二. 对 ol 下面的 li 标签设置以下样式
  1. ol li{
  2.         list-style-type:decimal;
  3.         list-style-position:inside;
  4. }
复制代码
方法二在IE 6/7 中会导致所有 li 的序号全部变成1. 如果要考虑IE 6/7,请使用方法一。

如果想要禁用 ol li 标签的序号,只要对 ol 标签设置以下样式并且不要对 ol li 设置如上方法二中的样式即可。
  1. ol{
  2.         list-style:none;
  3. }
复制代码
这样 ol 就变了 ul 。

手机版|轻松E站

轻松E站

快速回复 返回顶部 返回列表