有一个Navbar< div>,里面是一个< ul>和每个< li>包含< a>带有链接(这是一个导航栏)
我看了谷歌和这个网站,我couldnt找到我正在寻找什么。
我想要的是能够保持我当前的风格(使用< li>与< a>的内部),我想要< li>以均匀分布和居中(如果它们均匀分布则该部分是自然的…)在< ul> (位于navbar< div>内)。
无论如何,如果这没有意义让我知道,目前他们只是左对齐…我知道我有:
HTML:
<div class="navbar"> <ul> <li><a href="Home">Home</a></li> <li><a href="Discounts">Discounts</a></li> <li><a href="Contact">Contact Us</a></li> <li><a href="About">About Us</a></li> </ul> </div>
CSS:
.navbar { width: 100%; margin-left: auto ; margin-right: auto ; background-color: #ABCDEF; } .navbar ul { list-style-type: none; /*to remove bullets*/ text-align: center; margin: 0px; padding: 0px; width: 90%; overflow: hidden; } .navbar li{ float: left; padding: 2px; width: 150px; margin-left: auto ; margin-right: auto ; }
我也可以包括我的.navbar a {}如果是必要的。
我非常新的CSS,所以去容易,也是我看过所有的SO和谷歌第一,couldnt找到任何东西很像这样(虽然也许,因为我是新的,我不认识它的一样)。
如果这是一个错误的CSS方法和/或有一个更容易,更常用的方法这样做。继续和链接/ post,而不是,但我更喜欢这种方式,因为它是最有意义的我。
谢谢
解决方法
如果不想指定90%宽度,则允许无宽度居中动态ul:
<!doctype html> <div class="navbar"> <div id="for-ie"> <ul> <li><a href="Home">Home</a></li> <li><a href="Discounts">Discounts</a></li> <li><a href="Contact">Contact Us</a></li> <li><a href="About">About Us</a></li> </ul> </div> </div> <style> .navbar { width: 100%; margin-left: auto ; margin-right: auto ; background-color: #ABCDEF; } .navbar ul { list-style-type: none; /*to remove bullets*/ text-align: center; margin: 0 auto; padding: 0px; border:1px solid red; display:table; overflow: hidden; } .navbar li{ float: left; padding: 2px; width: 150px; margin-left: auto ; margin-right: auto ; } </style> <!--[if IE]> <style> #for-ie { text-align:center; } #for-ie ul { display:inline-block; } #for-ie ul { display:inline; } </style> <![endif]-->
测试在IE6,FX 3。
编辑:没有无关元素的替代样式:
<!doctype html> <div class="navbar"> <ul> <li><a href="Home">Home</a></li> <li><a href="Discounts">Discounts</a></li> <li><a href="Contact">Contact Us</a></li> <li><a href="About">About Us</a></li> </ul> </div> <style> .navbar { width: 100%; margin-left: auto ; margin-right: auto ; background-color: #ABCDEF; } .navbar ul { list-style-type: none; /*to remove bullets*/ text-align: center; padding: 0px; zoom:1; border:1px solid red; overflow: hidden; } .navbar li{ padding: 2px; width: 150px; display:inline-block; } </style> <!--[if IE]> <style> .navbar li { display:inline; } </style> <![endif]-->