HTML导航栏自适应填充[重复]

Posted

技术标签:

【中文标题】HTML导航栏自适应填充[重复]【英文标题】:HTML Navigation bar adaptive padding [duplicate] 【发布时间】:2021-12-10 22:09:17 【问题描述】:

我正在使用 html 和 CSS 创建一个网站,并制作了一个导航栏来在网站上移动。

但是,导航栏上的填充有问题。我进行了设置,这样每当您将光标悬停在导航栏上的某个选项上时,文本就会变为粗体并且背景颜色会发生变化。但是,每当光标悬停在文本上时,它就会变为粗体并且文本会展开。有没有一种方法可以在鼠标悬停在文本上时更改填充,以便当文本变为粗体时不会移动导航栏上的其他项目?

我的代码(我使用标签将当前页面的选项设为粗体):

<DOCTYPE html>
    <head>
    <style>
        .topnav 
        overflow: hidden;
        background-color: black;
        

        .topnav a 
        float: left;
        display: block;
        color: white;
        text-align: center;
        padding: 14px 16px;
        text-decoration: none;
        

        .topnav a:hover 
        background-color: #2222
        color: white;
        font-weight: 700;
        
    </style>
    </head>
        <div class="topnav">
        <b><a href="\index.html">Home</a></b>
        <a href="\ComingSoon\index.html">Coming Soon</a>
        <a href="\VideoLibrary\index.html">Video Library</a>
        <a href="\CastAndCrew\index.html">Cast and Crew</a>
        </div>
    //rest of body code
    </body>
    </html>

【问题讨论】:

【参考方案1】:

这是一个使用 CSS pseudo-elementattribute 的技巧

.topnav 
  overflow: hidden;
  background-color: black;
  display:flex;


.topnav a 
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;


.topnav a:first-child
  font-weight: 700;


.topnav a:hover 
  background-color: #222;
  font-weight: 700;


.topnav a:before 
  display: block;
  content: attr(data-title);
  font-weight: 700;
  overflow: hidden;
  visibility: hidden;
  height: 0;   
<div class="topnav">
  <a data-title="Home" href="\index.html">Home</a>
  <a data-title="Coming Soon" href="\ComingSoon\index.html">Coming Soon</a>
  <a data-title="Video Library" href="\VideoLibrary\index.html">Video Library</a>
  <a data-title="Cast and Crew" href="\CastAndCrew\index.html">Cast and Crew</a>
</div>

【讨论】:

以上是关于HTML导航栏自适应填充[重复]的主要内容,如果未能解决你的问题,请参考以下文章

iOS 11导航栏自定义后退按钮问题

iPad导航栏自定义高度

Flutter导航栏自定义效果

无法执行单击导航栏自定义按钮

如何减少iOS导航栏自定义视图的左右间隙

iOS系统导航栏自定义标题动画跳变解析