我有一份答案清单。我在每个列表项<li>
里面都有答案编号,一个段落(“测试...”)和两个链接。
我希望在我的链接中有一个list-style-type: circle;
。但我的链接不是<li>
元素,它们位于<li>
元素内。
你知道是否可以做这样的事情?
我的代码在这里:http://jsfiddle.net/x9ww2qpd/1/
答案 0 :(得分:5)
所以只需要制作<li>
个元素。例如:
<h4>Answer 1</h4>
<p> test test test test test test test test test test test test test testtest testtest test test test</p>
<span>Saber mais:</span><br/>
<ul>
<li><a href="#">Who are we?</a></li>
<li><a href="#">Who are we?</a></li>
</ul>
您可以将有序/无序列表嵌套到您想要的任何深度。然后根据需要将CSS样式应用于列表。
答案 1 :(得分:2)
如果您可以使用CSS3伪元素而不是嵌套ul
li
实现,则可以使用:before
创建&#34; bullet&#34; 。这也可以让你更好地控制子弹的视觉风格和位置。
#answers ul li a{padding-left:30px; position:relative;}
#answers ul li a:before{content:" "; position:absolute; top:50%; left:24px; border-radius: 100%; background: black; height:4px; width:4px; margin:-4px;}
<强> FIDDLE DEMO 强>
答案 2 :(得分:2)
在不更改HTML的情况下,您始终可以使用:before
pseudo element以及转义的content
值'\2022'
。只需相应地更改元素的font-size
即可。
#answers ul li a:before {
content:'\2022';
display: inline-block;
padding-right: 10px;
}
答案 3 :(得分:1)
如果您希望或需要在不更改HTML标记的情况下执行此操作,请将display
属性设置为list-item
,以便将要显示的元素设置为项目符号列表的项目并防止其影响<br/>
标签。例如:
#answers a { display: list-item; }
#answers br { display: none; }
请注意,这些会影响a
块内的所有br
和id="answers"
元素。目前尚不清楚是否需要这样做。
关键是list-style-type
只设置子弹或其他标记的样式(如果使用的话)。它不会导致标记出现。或者,换句话说,该属性仅影响具有display: list-item
的元素。
更好的是,如果您可以更改标记,只需对要显示为项目符号列表的元素使用<ul>
和<li>
标记。
答案 4 :(得分:0)
要使您的链接(1)看起来像列表项,(2)表现得像列表项,您应该设置该链接的display
,list-style-type
和list-style-position
属性元件。
您还应该删除列表项后面的<br />
元素。
示例代码:
* {
margin: 0;
padding: 0;
}
#answers{
float:left;
width:100%;
margin-top:20px;
}
#answers ul{
list-style:none;
}
#answers ul li{
margin-bottom:30px;
}
#answers ul li a{
display: list-item;
list-style-position: inside;
list-style-type: circle;
margin-left:30px;
}
&#13;
<div id="answers">
<ul>
<li>
<h4>Answer 1</h4>
<p> test test test test test test test test test test test test test testtest testtest test test test</p>
<span>Saber mais:</span><br/>
<a href="#">Who are we?</a>
<a href="#">Who are we?</a>
</li>
</ul>
</div>
&#13;
THE FIDDLE:
<强> http://jsfiddle.net/x9ww2qpd/5/ 强>
作为解决方案1的替代方案,您只需将元素包装在列表元素中即可。
在这里,您还应该删除列表项目后面的<br />
元素。为列表中的列表添加一些额外的样式。
示例代码:
* {
margin: 0;
padding: 0;
}
#answers{
float:left;
width:100%;
margin-top:20px;
}
#answers ul{
list-style:none;
}
#answers ul li{
margin-bottom:30px;
}
#answers ul ul{
list-style:circle;
list-style-position: inside;
}
#answers ul ul li{
margin-bottom:0;
margin-left: 30px;
}
&#13;
<div id="answers">
<ul>
<li>
<h4>Answer 1</h4>
<p> test test test test test test test test test test test test test testtest testtest test test test</p>
<span>Saber mais:</span><br/>
<ul>
<li><a href="#">Who are we?</a></li>
<li><a href="#">Who are we?</a></li>
</ul>
</li>
</ul>
</div>
&#13;
THE FIDDLE: