CSS 中列表单元格内圆形的位置和居中
Position and centering of the circular shape inside the list cell in CSS
我在水平列表单元格中定位和居中圆形时遇到问题。
我有一个 class 我的圈子:
.user-logo {
background-color: #4CAF50;
border: none;
border-radius: 50%;
height: 50px;
width: 50px;
text-align: center;
}
和class列表:
.navbar-list {
@extend ul;
height: $navbar-height;
float: right;
li {
float:left;
}
a {
display: block;
margin: 0 auto;
padding-left: 5px;
padding-right: 5px;
}
li a:hover {
background-color: #111;
}
}
我正在使用 React,所以 class 用法如下所示:
<ul className='navbar-list'>
<li><NavLink to='/'>New Project</NavLink></li>
<li><NavLink to='/'>Log Out</NavLink></li>
<li><NavLink to='/' className='user-logo'>NN</NavLink></li>
</ul>
如何调整单元格内圆形的位置?现在,我的导航栏的文本显示良好 - 在每个单元格的中间(甚至是我的圆圈的文本),但我的圆圈仍然与单元格的左上角对齐。
一种方法是通过以下方式将父元素变成弹性框:
li{ display: flex; }
有关 flexbox css 的更多信息,您可以查看 here 或其他在线教程。
否则,请确保您的圆形具有 display: inline-block
,以便您可以使用边距控制其垂直定位,并尝试优化圆形的顶部和底部边距或父级的顶部和底部填充元素.
您可以使用下面的 CSS 代码:
.user-logo {
background-color: #4caf50;
border: none;
border-radius: 50%;
height: 50px;
width: 50px;
display: flex;
justify-content: center;
align-items: center;
}
.navbar-list {
height: 50px;
justify-content: flex-end;
display: flex;
align-items: center;
}
.navbar-list li {
list-style-type: none;
}
.navbar-list li a {
padding-left: 5px;
padding-right: 5px;
}
.navbar-list li a:hover {
background-color: #111;
}
我在水平列表单元格中定位和居中圆形时遇到问题。
我有一个 class 我的圈子:
.user-logo {
background-color: #4CAF50;
border: none;
border-radius: 50%;
height: 50px;
width: 50px;
text-align: center;
}
和class列表:
.navbar-list {
@extend ul;
height: $navbar-height;
float: right;
li {
float:left;
}
a {
display: block;
margin: 0 auto;
padding-left: 5px;
padding-right: 5px;
}
li a:hover {
background-color: #111;
}
}
我正在使用 React,所以 class 用法如下所示:
<ul className='navbar-list'>
<li><NavLink to='/'>New Project</NavLink></li>
<li><NavLink to='/'>Log Out</NavLink></li>
<li><NavLink to='/' className='user-logo'>NN</NavLink></li>
</ul>
如何调整单元格内圆形的位置?现在,我的导航栏的文本显示良好 - 在每个单元格的中间(甚至是我的圆圈的文本),但我的圆圈仍然与单元格的左上角对齐。
一种方法是通过以下方式将父元素变成弹性框:
li{ display: flex; }
有关 flexbox css 的更多信息,您可以查看 here 或其他在线教程。
否则,请确保您的圆形具有 display: inline-block
,以便您可以使用边距控制其垂直定位,并尝试优化圆形的顶部和底部边距或父级的顶部和底部填充元素.
您可以使用下面的 CSS 代码:
.user-logo {
background-color: #4caf50;
border: none;
border-radius: 50%;
height: 50px;
width: 50px;
display: flex;
justify-content: center;
align-items: center;
}
.navbar-list {
height: 50px;
justify-content: flex-end;
display: flex;
align-items: center;
}
.navbar-list li {
list-style-type: none;
}
.navbar-list li a {
padding-left: 5px;
padding-right: 5px;
}
.navbar-list li a:hover {
background-color: #111;
}