我想创建一个带有CSS圈和文本旁边的html / css列表(我不想为此使用项目符号)。
我想要完成的是:http://jsfiddle.net/EGGVF/
.menu{
position: relative;
display: block;
width:1em;
height:1em;
border-radius:50px;
color:#fff;
background:#000}
但是,圆圈显示在列表元素的顶部,而不是与它们一致。我怎样才能以一切形式排列(bullet + circle + text)?
答案 0 :(得分:2)
在CSS中使用float:left
。
ul
{
list-type:none;
}
.menu
{
position: relative;
display: block;
width:1em;
height:1em;
border-radius:50px;
color:#fff;
background:#000;
float:left; /* use this */
}
<div class="left-menu">
<ul>
<li><span><a class="menu" href="#"></a>Test retest supertest megatest</span></li>
<li><a class="menu" href="#"></a></li>
</ul>
</div>
和Span with padding / Margin ..
希望它有所帮助。
答案 1 :(得分:1)
答案很多,但我仍然觉得有必要发布一个更全面,更简单的答案。首先,这是我使用的代码:
<div class="left-menu">
<ul>
<li><a class="menu" href="#"></a> <p>Test retest supertest megatest</p></li>
<li><a class="menu" href="#"></a> <p>Test retest supertest megatest</p></li>
</ul>
</div>
使用CSS:
.left-menu .menu {
display: inline-block;
width: 1em;
height: 1em;
border-radius: 50%;
background: #000;
vertical-align: middle;
}
.left-menu p {
display: inline-block;
vertical-align: middle;
}
注意事项,一般情况下:
border-radius: 50%
获取圆圈,无需在宽度或高度变化时更改; 然后,更具体的问题:
li
的孩子不要换行,并通过避免display: block
并为inline-block
和a
设置p
来创建自己的行。 a
; p
和vertical-align: middle
垂直对齐
现在你很高兴。请参阅this fiddle或one with some "debugging" info。
答案 2 :(得分:0)
这适用于小提琴并且可以解决问题:
.menu {
display: inline-block;
}
答案 3 :(得分:0)
只需在你的css样式表中添加它,就可以了!
如果你愿意,可以在大圆圈和文字(填充)之间留出一些空间
ul
{
list-style-type: none;
}
.menu{
position: relative;
display: inline-block;
width:1em;
height:1em;
border-radius:50px;
color:#fff;
background:#000;
margin-right: 10px; // Add this if you want some space between text and circle
}
答案 4 :(得分:0)
摘要
::之前创建一个伪元素,它是该元素的第一个子元素 元素匹配。通常用于将化妆品内容添加到元素中 使用内容属性。默认情况下,此元素是内联的。
.menu:before {
background-color: red;
border-radius: 50px 50px 50px 50px;
content: "";
height: 20px;
margin: 0 0 0 -25px;
position: absolute;
width: 20px;
}
答案 5 :(得分:0)