我正在尝试将导航元素放在彩色框中。此框中的文本应位于此框的底部和中心。
HTML
<div class="sixteen columns">
<section id="mainNav">
<ul>
<li id="nav2" class="navitem"><a href="#">ux / ui</a></li>
</ul>
</section>
</div><!--end sixteen columns-->
CSS:
/*navigation styles*/
.sixteen.columns #mainNav {
width: 100%;
margin-top: 50px;
}
#mainNav .navitem {
width: 40%;
display: block;
float: left;
position: relative;
pointer: cursor;
}
#mainNav ul li a {
font-family: print_clearlyregular, "Arial", serif;
font-size: 2em;
color: rgb(255, 255, 255);
text-decoration: none;
position: absolute;
bottom: 15px;
left: 0;
}
#mainNav #nav2 {
background: rgb(3, 106, 113);
opacity:0.8;
filter:alpha(opacity=80);
/* For IE8 and earlier */
margin-right: 4px;
height: 150px;
text-align:center;
}
一旦我绝对定位“ul li a”,text-align:center就不起作用了。我该怎么解决这个问题?
你也可以在jsfiddle中看到这个位:
答案 0 :(得分:3)
答案 1 :(得分:0)
请勿为left
指定right
(或ul li a
)的任何值。
答案 2 :(得分:0)
我想添加一个不依赖浮动或绝对定位的替代解决方案,这可能会变得非常混乱。
使用display: table
,display: table-cell
和vertical-align: bottom
,您可以获得上述结果。当周围的其他物品可能发生变化时,这也可以很好地扩展。
我移除了所有浮动和位置样式,将display: table
添加到ul
,将display: table-cell
和vertical-align: bottom
添加到li
,添加{ {1}} display: inline-block
以及a
以保留填充您创建的绝对定位。我修改了选择器并添加了一些其他可以使用的小东西或根据自己的喜好进行调整。
margin-bottom: 15px