Html 自定义列表样式不起作用
我正在尝试向Html 自定义列表样式不起作用,html,css,Html,Css,我正在尝试向元素添加一个awesomefont列表样式 <ul> <li> <i class="fa fa-circle-o"></i> <a rel="tooltip" data-original-title="To not influence reports" title="">Do not track Events coming from your IP</a> </li>
元素添加一个awesomefont列表样式
<ul>
<li>
<i class="fa fa-circle-o"></i>
<a rel="tooltip" data-original-title="To not influence reports" title="">Do not track Events coming from your IP</a>
</li>
<li>
<i class="fa fa-circle-o"></i>
<a rel="tooltip" data-original-title="To not influence reports" title="">Do not track Events coming from your IP</a>
</li>
<li>
<i class="fa fa-circle-o"></i>
<a rel="tooltip" data-original-title="To not influence reports" title="">Do not track Events coming from your IP</a>
</li>
</ul>
但是,当我们调整窗口大小时,li文本位于列表样式的圆圈下,这是不可接受的。我认为它应该在列表样式的圆圈之后开始,即使文本在第二行
有谁能给我建议一个更好的方法吗?
Jsfiddle:有几种方法可以做到这一点。基本上,如果您想让圆圈显示在锚文本旁边,即使文本已包装,您基本上是想让CSS按行布局。。所以在这种情况下,这是最简单的方法:
li{
list-style:none;
display:table-row;
}
li *
{
display:table-cell;
}
但是,css中的表布局可能会很挑剔,因此这里有另一种方式将元素作为内联块彼此相邻放置,但允许锚定内容正常包装:
li{
list-style:none;
white-space:nowrap;
}
li i
{
display:inline-block;
vertical-align:top;
}
li a
{
display:inline-block;
white-space:normal;
}
有几种方法可以做到这一点。基本上,如果您想让圆圈显示在锚文本旁边,即使文本已包装,您基本上是想让CSS按行布局。。所以在这种情况下,这是最简单的方法:
li{
list-style:none;
display:table-row;
}
li *
{
display:table-cell;
}
但是,css中的表布局可能会很挑剔,因此这里有另一种方式将元素作为内联块彼此相邻放置,但允许锚定内容正常包装:
li{
list-style:none;
white-space:nowrap;
}
li i
{
display:inline-block;
vertical-align:top;
}
li a
{
display:inline-block;
white-space:normal;
}
定位i
绝对会使其脱离a
的路径,因此a
可以使其填充物向左
(只有a
被阻塞时才能正常工作)。
定位
i
绝对会使其脱离a
的方式,因此a
可以使其填充位置向左
(仅当a
是块时才正常工作)。列表标记之所以不像列表标记,是因为您使用的标记不是真正的列表标记,它是列表元素中的一个元素。glyph和文本位于同一容器中,因此它根据需要包装在该容器下
您可以通过各种方法使其按预期工作,但只使用真正的标记会更容易,并产生更干净、更可维护的代码
<li>
<a rel="tooltip" data-original-title="To not influence reports" title="">Do not track Events coming from your IP</a>
</li>
如果必须使用自定义图像而不是默认标记之一,也可以使用标记样式:
li{
list-style-image: url("circle-bullet.png")
}
列表标记不像列表标记,原因是您使用的标记不是真正的列表标记,而是列表元素内部的元素。glyph和文本位于同一容器中,因此它根据需要包装在该容器下 您可以通过各种方法使其按预期工作,但只使用真正的标记会更容易,并产生更干净、更可维护的代码
<li>
<a rel="tooltip" data-original-title="To not influence reports" title="">Do not track Events coming from your IP</a>
</li>
如果必须使用自定义图像而不是默认标记之一,也可以使用标记样式:
li{
list-style-image: url("circle-bullet.png")
}
@bjb568,如果您转到JSFIDLE,您可以看到列表样式为圆形的列表。现在,如果调整窗口大小,使该行进入第二行,则该行位于圆的正下方(列表样式)。但它应该有一个缩进。如果您查看stackoverflow页面中的
相关的部分,就在该注释的右侧,您可以看到数字部分是一个单独的部分,第二行文本不在数字下方开始。这就是我想要的。@bjb568,如果您转到JSFIDLE,您可以看到列表样式为圆形的列表。现在,如果调整窗口大小,使该行进入第二行,则该行位于圆的正下方(列表样式)。但它应该有一个缩进。如果您查看stackoverflow页面中的相关的部分,就在该注释的右侧,您可以看到数字部分是一个单独的部分,第二行文本不在数字下方开始。这就是我想要的。inline-block有空间问题i
和a
之间有空格。这取决于您是否认为这是个问题。表行方法没有这个空间,但imo看起来更糟。您可以添加右边的边距:-3px;如果你特别关注li i风格,我会将它改为li i风格。对于一些
,我使用虚线作为底部边框的文本装饰。因此,如果文本换成另一行,那么整个文本下只有一行。这可能是另一个问题。。我认为您不会实现一个自定义下划线,至少不会在css中进行包装。当文本转到第二行时,包含的块会增长。好的,有一种方法,但仍然有点不受支持:内联块有空间问题i
和a
之间有空格。这取决于您是否认为这是个问题。表行方法没有这个空间,但imo看起来更糟。您可以添加右边的边距:-3px;如果你特别关注li i风格,我会将它改为li i风格。对于一些
,我使用虚线作为底部边框的文本装饰。因此,如果文本换成另一行,那么整个文本下只有一行。这可能是另一个问题。。我认为您不会实现一个自定义下划线,至少不会在css中进行包装。当文本转到第二行时,包含的块会增长。好的,有一种方法,但仍然有点不受支持:将特定的度量值(如16px)放入样式中意味着现在不考虑字体的大小。如果使用不同的圆形字体,则必须手动调整此样式。如果某些列表中没有一些标记,则无法正常工作。@Mike您还是要设置字体大小。如果需要,可以使用预处理器变量。@user1012181您可以给li
amin height:18px
。将特定的度量值(如16px)放入样式中意味着现在不考虑字体的大小。如果使用不同的圆形字体,则必须手动调整此样式。如果某些列表中没有一些标记,则无法正常工作。@Mike您还是要设置字体大小。如果需要,可以使用预处理器变量。@user1012181您可以执行以下操作