css – 水平居中/均匀分布>内部a

前端之家收集整理的这篇文章主要介绍了css – 水平居中/均匀分布>内部a前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有一个Navbar< div>,里面是一个< ul>和每个< li>包含< a>带有链接(这是一个导航栏)

我看了谷歌和这个网站,我couldnt找到我正在寻找什么。

我想要的是能够保持我当前的风格(使用< li>与< a>的内部),我想要< li>以均匀分布和居中(如果它们均匀分布则该部分是自然的…)在< ul> (位于navbar< div>内)。

无论如何,如果这没有意义让我知道,目前他们只是左对齐…我知道我有:

HTML:

  1. <div class="navbar">
  2. <ul>
  3. <li><a href="Home">Home</a></li>
  4. <li><a href="Discounts">Discounts</a></li>
  5. <li><a href="Contact">Contact Us</a></li>
  6. <li><a href="About">About Us</a></li>
  7. </ul>
  8. </div>

CSS:

  1. .navbar {
  2. width: 100%;
  3. margin-left: auto ;
  4. margin-right: auto ;
  5. background-color: #ABCDEF;
  6. }
  7. .navbar ul {
  8. list-style-type: none; /*to remove bullets*/
  9. text-align: center;
  10. margin: 0px;
  11. padding: 0px;
  12. width: 90%;
  13. overflow: hidden;
  14. }
  15. .navbar li{
  16. float: left;
  17. padding: 2px;
  18. width: 150px;
  19. margin-left: auto ;
  20. margin-right: auto ;
  21. }

我也可以包括我的.navbar a {}如果是必要的。
我非常新的CSS,所以去容易,也是我看过所有的SO和谷歌第一,couldnt找到任何东西很像这样(虽然也许,因为我是新的,我不认识它的一样)。

如果这是一个错误的CSS方法和/或有一个更容易,更常用的方法这样做。继续和链接/ post,而不是,但我更喜欢这种方式,因为它是最有意义的我。

谢谢

解决方法

如果不想指定90%宽度,则允许无宽度居中动态ul:
  1. <!doctype html>
  2. <div class="navbar">
  3. <div id="for-ie">
  4. <ul>
  5. <li><a href="Home">Home</a></li>
  6. <li><a href="Discounts">Discounts</a></li>
  7. <li><a href="Contact">Contact Us</a></li>
  8. <li><a href="About">About Us</a></li>
  9. </ul>
  10. </div>
  11. </div>
  12. <style>
  13. .navbar {
  14. width: 100%;
  15. margin-left: auto ;
  16. margin-right: auto ;
  17. background-color: #ABCDEF;
  18. }
  19. .navbar ul {
  20. list-style-type: none; /*to remove bullets*/
  21. text-align: center;
  22. margin: 0 auto;
  23. padding: 0px;
  24. border:1px solid red;
  25. display:table;
  26. overflow: hidden;
  27. }
  28. .navbar li{
  29. float: left;
  30. padding: 2px;
  31. width: 150px;
  32. margin-left: auto ;
  33. margin-right: auto ;
  34. }
  35. </style>
  36. <!--[if IE]>
  37. <style>
  38. #for-ie { text-align:center; }
  39. #for-ie ul { display:inline-block; }
  40. #for-ie ul { display:inline; }
  41. </style>
  42. <![endif]-->

测试在IE6,FX 3。

编辑:没有无关元素的替代样式:

  1. <!doctype html>
  2. <div class="navbar">
  3. <ul>
  4. <li><a href="Home">Home</a></li>
  5. <li><a href="Discounts">Discounts</a></li>
  6. <li><a href="Contact">Contact Us</a></li>
  7. <li><a href="About">About Us</a></li>
  8. </ul>
  9. </div>
  10. <style>
  11. .navbar {
  12. width: 100%;
  13. margin-left: auto ;
  14. margin-right: auto ;
  15. background-color: #ABCDEF;
  16. }
  17. .navbar ul {
  18. list-style-type: none; /*to remove bullets*/
  19. text-align: center;
  20. padding: 0px;
  21. zoom:1;
  22. border:1px solid red;
  23. overflow: hidden;
  24. }
  25. .navbar li{
  26. padding: 2px;
  27. width: 150px;
  28. display:inline-block;
  29. }
  30. </style>
  31. <!--[if IE]>
  32. <style>
  33. .navbar li { display:inline; }
  34. </style>
  35. <![endif]-->

猜你在找的CSS相关文章