Answers:
并不是的。您的填充(可能)将应用于列表项,因此只会影响列表项中的实际内容。
结合使用背景和填充样式可以创建看起来相似的内容,例如
li {
background: url(images/bullet.gif) no-repeat left top; /* <-- change `left` & `top` too for extra control */
padding: 3px 0px 3px 10px;
/* reset styles (optional): */
list-style: none;
margin: 0;
}
您可能希望将样式添加到父级列表容器(ul)中,以放置项目符号列表项,此A List Apart文章提供了很好的入门参考。
top
价值对我有用,而不是顶尖填充。 background: url(images/bullet.gif) no-repeat left 8px;
尚未提及的对此问题的可能解决方案如下:
li {
position: relative;
list-style-type: none;
}
li:before {
content: "";
position: absolute;
top: 8px;
left: -16px;
width: 8px;
height: 8px;
background-image: url('your-bullet.png');
}
现在,您可以使用li:的顶部/左侧放置新子弹。请注意,li:的宽度和高度必须与您选择的背景图像的尺寸相同。在Internet Explorer 8及更高版本中均可使用。
您可以执行的另一种选择是:
li:before{
content:'';
padding: 0 0 0 25px;
background:url(../includes/images/layouts/featured-list-arrow.png) no-repeat 0 3px;
}
使用(0 3px)定位列表图像。
适用于IE8 +,Chrome,Firefox和Opera。
我使用此选项是因为您可以轻松换出列表样式,而且很有可能甚至根本不需要使用图像。(下面的小提琴)
http://jsfiddle.net/flashminddesign/cYAzV/1/
更新:
这将说明文本/内容进入第二行:
ul{
list-style-type:none;
}
li{
position:relative;
}
ul li:before{
content:'>';
padding:0 10px 0 0;
position:absolute;
top:0; left:-10px;
}
如果要在项目符号和内容之间留出更多空间,请在li处添加padding-left:。
或者你可以使用
list-style-position: inside;
我认为您真正想做的是将填充(您当前正在添加到<li>中)添加到<ul>标记中,然后项目符号点将随<li>的文本一起移动。
您还可以查看列表样式位置。它会影响线条围绕子弹图像的缠绕方式。
像“一个胆小鬼”的答案,但稍作修改
li
{
background: url("images/bullet.gif") left center no-repeat;
padding-left: 14px;
margin-left: 24px;
}
它可以跨浏览器工作,只需调整填充和边距
编辑嵌套: 添加此样式可将左边缘添加到子嵌套列表中
ul ul {margin-left:15px; }
我正在使用这样的东西,对我来说似乎很干净而且很简单:
ul {
list-style: none;
/* remove left padding, it's usually unwanted: */
padding: 0;
}
li:before {
content: url(icon.png);
display: inline-block;
vertical-align: middle;
/* If you want some space between icon and text: */
margin-right: 1em;
}
上面的代码在我的大多数情况下都是有效的。
为了进行精确调整,您可以修改vertical-align
,例如:
vertical-align: top;
/* or */
vertical-align: -10px;
/* or whatever you need instead of "middle" */
你可以设置list-style: none
上li
,而不是ul
如果你喜欢。
Fontawesome解决方案
#polyNedir ul li { position:relative;padding-left:20px }
#polyNedir ul li:after{font-family:fontawesome;content:'\f111';position:absolute;left:0px;top:3px;color:#fff;font-size:10px;}
隐藏默认的项目符号图像并使用,background-image
因为您拥有更多控制权,例如:
li {
background-image: url(https://material.io/tools/icons/static/icons/baseline-add-24px.svg);
background-repeat: no-repeat;
background-position: left 50%;
padding-left: 2em;
}
ul {
list-style: none;
}
<ul>
<li>foo</li>
<li>bar</li>
</ul>
My solution:
ul {
line-height: 1.3 !important;
li {
font-size: x-large;
position: relative;
&:before {
content: '';
display: block;
position: absolute;
top: 5px;
left: -25px;
height: 23px;
width: 23px;
background-image: url(../img/list-char.png) !important;
background-size: 23px;
background-repeat: no-repeat;
}
}
}
list-style-image
,如果它不能定位?结果,大多数人似乎使用了::before
和这样的变通方法background-image
。