css – 导航栏包装在较小的分辨率上

前端之家收集整理的这篇文章主要介绍了css – 导航栏包装在较小的分辨率上前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试将 HTML5 / CSS3作为学习过程,但我正在努力创建一个导航栏,用于指向我页面中其他部分的链接.
我从找到的教程中调整了代码并且它可以工作,但只有在1080p的分辨率下查看时,如果宽度较小,则条形图包裹在其他线条上.

无论用户使用什么分辨率,我如何确保导航栏只占用一行(缩小到适合)?

这是导航栏的CSS代码.请注意,在导航下我已将宽度设置为33.3%并填充相同以使按钮居中.我不知道这是不是原因.

  1. nav {
  2. display:block;
  3. position: absolute;
  4. left:0;
  5. white-space:nowrap;
  6. margin: 0 auto;
  7. width: 33.3%;
  8. background-color:#ff6600;
  9. padding-left: 33.3%;
  10. padding-right: 33.3%;
  11. }
  12.  
  13. nav ul {
  14. margin: 0 auto;
  15. width: 100%;
  16. list-style: none;
  17. display: inline;
  18. white-space:nowrap;
  19. }
  20.  
  21. nav ul li {
  22. float: left;
  23. position: relative;
  24. white-space:nowrap;
  25. }
  26.  
  27. nav ul li a {
  28. display: block;
  29. margin: 0 auto;
  30. width: 150px;
  31. font-size: 16px;
  32. font-family: century gothic;
  33. line-height: 44px;
  34. text-align: center;
  35. text-decoration: none;
  36. color:#575757;
  37. white-space:nowrap;
  38. }
  39.  
  40. nav ul ul {
  41. width: 200px;
  42. position:absolute;
  43. top:-99999px;
  44. left:0;
  45. opacity: 0;
  46. -webkit-transition: opacity .4s ease-in-out;
  47. -moz-transition: opacity .4s ease-in-out;
  48. -o-transition: opacity .4s ease-in-out;
  49. transition: opacity .4s ease-in-out;
  50. z-index:497;
  51. background:#333;
  52. padding: 2px;
  53. border:1px solid #444;
  54. border-top:none;
  55. Box-shadow:#111 0 3px 4px;
  56. }
  57.  
  58.  
  59. nav ul ul li a {
  60. display: block;
  61. width: 200px;
  62. text-align: left;
  63. padding-left: 3px;
  64. font-size: 14px;
  65. }
  66.  
  67.  
  68.  
  69. nav ul li:hover>ul{
  70. opacity: 1;
  71. position:absolute;
  72. top:98%;
  73. left:0;
  74.  
  75. }
  76.  
  77.  
  78. nav ul li a:hover {
  79. color: #fff;
  80. background-color: #cc3300
  81. }
  82.  
  83. nav ul li.selected a {
  84. color: #fff;
  85. background-color: #cc3300;
  86. }

解决方法

你几乎正确地做到了.你的CSS的问题是white-space:nowrap;仅适用于内联元素 – 但您使用的是浮点数.即使你设置display:inline,浮动元素也会变成块级别;属性到这样的元素(它不会被应用).所以 – 如果你用display:inline-block替换你的浮动; – 你的白色空间属性将工作:)

这里可以看到内联块和空白区域的实例:http://jsfiddle.net/skip405/wzgcH/

至于你的定心方法 – 有一个更好的解决方案. (您可以删除填充并设置适当的宽度)特别是如果您使用内联块.只需设置text-align:center;在他们的父母 – 你会让它集中.

猜你在找的CSS相关文章