调整屏幕大小时,HTML导航栏下拉框内容无法正确调整大小

前端之家收集整理的这篇文章主要介绍了调整屏幕大小时,HTML导航栏下拉框内容无法正确调整大小 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在我的CSS代码中,导航栏框会在屏幕宽度更改时调整大小,并且在屏幕小于600px像素数量时也会调整大小.下拉框和内容的大小也像导航栏一样,但是内容的大小无法正确调整.调整屏幕大小时,下拉内容比下拉框略小,但是,当屏幕小于600px时,下拉内容将比框大.

我曾尝试使下拉内容的宽度与框的宽度相同,但是这没有影响.我尝试了所有与内容相关的类.他们都没有影响任何事情.

注意:我更改了背景颜色,以便您可以看到内容与下拉框本身的宽度不同.

  1. body {
  2. background-color: blue;
  3. }
  4. p {
  5. color: white;
  6. font-size: 20px;
  7. display: inline;
  8. padding: 20px;
  9. font-family: arial;
  10. }
  11. .navbar {
  12. list-style-type: none;
  13. margin: 0;
  14. padding: 0;
  15. overflow: hidden;
  16. background-color: rgb(10,10,10);
  17. top: 0;
  18. }
  19. .navcont {
  20. margin: 0;
  21. position: relative;
  22. float: left;
  23. }
  24. .navcont a,.dropbtn {
  25. margin: 0;
  26. position: relative;
  27. display: block;
  28. color: white;
  29. font-size: 20px;
  30. text-align: center;
  31. padding: 5vh 7vw;
  32. text-decoration: none;
  33. border-right: 1px solid rgb(50,50,50);
  34. border-left: 1px solid rgb(50,50);
  35. }
  36. .navcont a:hover {
  37. transition-duration: 0.3s;
  38. background-color: rgb(30,30,30);
  39. }
  40. .navcont a:active {
  41. background-color: rgb(9,194,36);
  42. }
  43. .sticky {
  44. position: sticky;
  45. position: -webkit-sticky;
  46. top: 0;
  47. z-index:3
  48. }
  49. .dropdown:hover .dropbtn {
  50. transition-duration: 0.3s;
  51. background-color: red;
  52. }
  53. li.dropdown {
  54. display: inline-block;
  55. }
  56. .dropdown-content {
  57. display: none;
  58. position: absolute;
  59. background-color: #f9f9f9;
  60. Box-shadow: 0px 8px 16px 0px rgba(0,0.2);
  61. z-index: 1;
  62. }
  63. .dropdown-content a {
  64. color: black;
  65. padding: 5vh 7.4vw;
  66. text-decoration: none;
  67. display: block;
  68. text-align: left;
  69. }
  70. .dropdown-content a:hover {
  71. background-color: #f1f1f1
  72. }
  73. .dropdown:hover .dropdown-content {
  74. display: block;
  75. }
  76. @media screen and (max-width: 600px) {
  77. .navcont a {
  78. padding: 3vh 3vw;
  79. }
  80. .dropdown-content {
  81. padding: 3vh 3vw;
  82. }
  83. a.dropdown-content {
  84. padding: 3vh 3vw;
  85. width: 100%;
  86. }
  87. .dropbtn {
  88. padding: 3vh 3vw;
  89. }
  90. div.tr_about {
  91. width: 60%;
  92. }
  93. div.tl_about {
  94. width: 37.5%;
  95. }
  96. }
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <Meta name="viewport" content="width=device-width,initial-scale=1.0">
  5. </head>
  6. <body>
  7. <div>
  8. <ul class="navbar">
  9. <li class="navcont"><a href="index.htm">Home</a></li>
  10. <li class="navcont"><a href="about.htm">About</a></li>
  11. <li class="navcont"><a href="purchase.htm">Purchase</a></li>
  12. <li class="dropdown" style="float: right;">
  13. <a href="javascript:void(0)" class="dropbtn">Contact</a>
  14. <div class="dropdown-content">
  15. <a href="support.htm">Support</a>
  16. <a href="faq.htm">FAQ</a>
  17. </div>
  18. </li>
  19. </ul>
  20. </div>
  21. </body>
  22. </html>

如上所述,我希望下拉框内容的宽度与调整屏幕大小时下拉框的宽度相同.但是,我得到的实际结果是内容比下拉框略窄,然后,当屏幕宽度小于600px时,它变得比框宽.

最佳答案
如下修改媒体查询

  1. .dropdown-content {
  2. padding: 1vh 1vw;
  3. right:10px;
  4. }
  5. a.dropdown-content {
  6. padding: 1vh 1vw;
  7. width: 98%;
  8. }
  9. .dropdown-content a {
  10. padding: 5vh 2.9vw;
  11. }
  1. body {
  2. background-color: blue;
  3. }
  4. p {
  5. color: white;
  6. font-size: 20px;
  7. display: inline;
  8. padding: 20px;
  9. font-family: arial;
  10. }
  11. .navbar {
  12. list-style-type: none;
  13. margin: 0;
  14. padding: 0;
  15. overflow: hidden;
  16. background-color: rgb(10,0.2);
  17. z-index: 1;
  18. }
  19. .dropdown-content a {
  20. color: black;
  21. padding: 5vh 7.4vw;
  22. text-decoration: none;
  23. display: block;
  24. text-align: left;
  25. }
  26. .dropdown-content a:hover {
  27. background-color: #f1f1f1
  28. }
  29. .dropdown:hover .dropdown-content {
  30. display: block;
  31. }
  32. @media (max-width:650px) {
  33. .navcont a {
  34. padding: 3vh 3vw;
  35. }
  36. .dropdown-content {
  37. padding: 1vh 1vw;
  38. right:10px;
  39. }
  40. a.dropdown-content {
  41. padding: 1vh 1vw;
  42. width: 98%;
  43. }
  44. .dropdown-content a {
  45. padding: 5vh 6.8vw;
  46. }
  47. }
  48. @media screen and (max-width: 600px) {
  49. .navcont a {
  50. padding: 3vh 3vw;
  51. }
  52. .dropdown-content {
  53. padding: 1vh 1vw;
  54. right:10px;
  55. }
  56. a.dropdown-content {
  57. padding: 1vh 1vw;
  58. width: 98%;
  59. }
  60. .dropdown-content a {
  61. padding: 5vh 2.9vw;
  62. }
  63. .dropbtn {
  64. padding: 3vh 3vw;
  65. }
  66. div.tr_about {
  67. width: 60%;
  68. }
  69. div.tl_about {
  70. width: 37.5%;
  71. }
  72. }
  1. <body>
  2. <div>
  3. <ul class="navbar">
  4. <li class="navcont"><a href="index.htm">Home</a></li>
  5. <li class="navcont"><a href="about.htm">About</a></li>
  6. <li class="navcont"><a href="purchase.htm">Purchase</a></li>
  7. <li class="dropdown" style="float: right;">
  8. <a href="javascript:void(0)" class="dropbtn">Contact</a>
  9. <div class="dropdown-content">
  10. <a href="support.htm">Support</a>
  11. <a href="faq.htm">FAQ</a>
  12. </div>
  13. </li>
  14. </ul>
  15. </div>
  16. </body>

猜你在找的HTML相关文章