视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
css关于list-style-image的图标图像对齐问题的解决
2020-11-27 18:50:50 责编:小采
文档
 首先啰嗦下,这个问题早在我刚开始学css是就遇到了,那是可能是大半年前的事了,后来实在没辙,就改用表格来对其小图标和文字。但今天,心血来潮,要不想用那被标准视为“邪道”当中的表格了,于是n月前的问题又重现了。

预期实现效果图:

开始定义css:

#main ul{
 display:inline;
 margin: 0px;
 padding:0px;
 list-style: url(../images/dot.gif) outside;
 }
 #main li {
 line-height:150%;
 }

在ie和firefox当中的效果:

小红三角居然红杏出墙了。瞎折腾了好一阵子,仍然是没辙。(注,小图标本来在垂直方向也和文字没对齐,后来用fireworks加高了,这点就不用说了吧。)

本想在经典论坛里发帖,但觉得太麻烦了,于是到处找相关帖子。

总算发现一个,得到启发,可以把那个小红三角作为li的背景图像啊。

于是有了下面比较巧妙而又合乎目的的定义方法:

#main ul{
 display:inline;
 margin: 0px;
 padding:0px;
 list-style-type:none;
 }
 #main li {
 background: url(../images/dot.gif) left top no-repeat;
 line-height:150%;
 }

效果如下:

拓展:但是如果我想实现下图所示小图标在文字的外端,该怎么办呢?

(1)开始时是想利用设置左侧补白空间(padding-left)来空出背景图像。于是重定义#main li {

padding-left:12px; 
background: url(../images/dot.gif) left top no-repeat; line-height:150%; }

但效果并非所想的那样,如下:

为什么“3月31日”前空出的有一个多左右呢?哦,对了,li属性自动为小图标在首行空出一个字符大小的空出来,即使你定义list-tyle-type:none。

(2)在写本示例写到上面一行时,本想把源文件改回原来的样子,在li里面删了background: url(../images/dot.gif) left top no-repeat;这一句,然后预览,惊喜地发现在ie中呈现出完美的效果出来,真是阴差阳错哦!

#main ul{
 display:inline;
 margin: 0px;
 padding:0px;
 list-style: url(../images/dot.gif) outside;
 }
 #main li {
 padding-left:12px;
 line-height:150%;
 }

效果图:

唯一美中不足的是在firefox里面就没这么幸运了,

padding没有作用的小图标上:

抱着死马当活马医的态度,我把padding-left:12px;改成了margin-left:12px;

预览:

ie:

firefox:

oh,这是真的吗?

除了,firefox里的小图标和文字间距要比ie中的要宽那么一点点之外,真的近乎完美了。

让我们放鞭炮庆祝下吧!

最后让我们记住最标准的list-style-type:image;的定义方法吧:

#main ul{
 display:inline;
 margin: 0px;
 padding:0px;
 list-style: url(../images/dot.gif) outside;
 }
 #main li {
 margin-left:12px;
 line-height:150%;
 }

下载本文
显示全文
专题