【发布时间】:2015-04-16 00:49:26
【问题描述】:
我想垂直对齐伪元素li:before,不使用边距,我尝试在ul.nav-menu-list li:hover:before, .nav-menu-list li:focus:before 中包含vertical-align: middle;,但它不起作用。
下面是我的代码或JSFiddle here:
.nav-menu-list>li>a {
font-family: 'Pribambas', Helvetica, Roboto, Arial, sans-serif;
font-size: 24px;
font-weight: normal;
line-height: normal;
}
ul.nav-menu-list li a {
border-bottom: none;
padding-left: 60px;
color: #fff;
}
ul.nav-menu-list li:hover:before, .nav-menu-list li:focus:before {
content: '-';
display: block;
width: 15px;
height: 3px;
background-color: #fff;
clear: both;
vertical-align: middle;
}
ul.nav-menu-list li a:hover, ul.nav-menu-list li a:focus {
background-color: transparent;
color: #a2a2a2;
}
【问题讨论】:
-
当然不行,因为
vertical-align不适用于block元素。 -
这似乎是 :before/:after 伪元素垂直居中内容的最佳答案:stackoverflow.com/a/14524161/470749