Html 使导航栏具有响应性
我面临一个使导航栏响应的问题-如果我在topnav类中更改导航栏的默认高度并调整屏幕大小,其他菜单选项将在小屏幕视图中消失。 我需要帮助来解决这个问题- 下面是我的代码:Html 使导航栏具有响应性,html,css,Html,Css,我面临一个使导航栏响应的问题-如果我在topnav类中更改导航栏的默认高度并调整屏幕大小,其他菜单选项将在小屏幕视图中消失。 我需要帮助来解决这个问题- 下面是我的代码: 函数myFunction(){ var x=document.getElementById(“myTopnav”); 如果(x.className==“topnav”){ x、 类名+=“响应”; }否则{ x、 className=“topnav”; } } 正文{ 保证金:0; 字体系列:Arial、Helvetica、
函数myFunction(){
var x=document.getElementById(“myTopnav”);
如果(x.className==“topnav”){
x、 类名+=“响应”;
}否则{
x、 className=“topnav”;
}
}
正文{
保证金:0;
字体系列:Arial、Helvetica、无衬线字体;
}
托普纳夫先生{
溢出:隐藏;
背景色:#001a33;
高度:2.5雷姆;
}
.topnav a{
浮动:左;
显示:块;
颜色:#F2F2;
文本对齐:居中;
填充:14px 16px;
文字装饰:无;
字号:17px;
}
.topnav a:悬停{
背景色:#ddd;
颜色:黑色;
}
.topnav a.active{
背景色:#4CAF50;
颜色:白色;
}
.topnav.icon{
显示:无;
}
@媒体屏幕和屏幕(最大宽度:600px){
.topnav a:不是(:第一个孩子){
显示:无;
}
.topnav a.icon{
浮动:对;
显示:块;
}
}
@媒体屏幕和屏幕(最大宽度:600px){
.topnav{
位置:相对位置;
}
.topnav.responsive.icon{
位置:绝对位置;
右:0;
排名:0;
}
.topnav.a{
浮动:无;
显示:块;
文本对齐:左对齐;
}
}
中间文本的问题在于导航栏的高度,您将导航栏设置为2.5rem,但添加文本大小和填充使标记的高度更高 进行这两项更改,将
.topnav
替换为以下代码
.topnav {
overflow: hidden;
background-color:#001a33;
height: auto;
}
第二,修改代码
@media screen and (max-width: 600px) {
.topnav a:not(:first-child) {display: inline-block;}
.topnav a.icon {
float: right;
display: block;
}
}
在
@媒体屏幕和(最大宽度:600px)
更改显示
到内联块
我已经给出了答案,但如果您不知道如何更改,这里是您的完整代码和新更改。您可以使用此代码。:)
身体{
保证金:0;
字体系列:Arial、Helvetica、无衬线字体;
}
托普纳夫先生{
溢出:隐藏;
背景色:#001a33;
高度:自动;
}
.topnav a{
浮动:左;
显示:块;
颜色:#F2F2;
填充:14px 16px;
文字装饰:无;
字号:17px;
}
.topnav a:悬停{
背景色:#ddd;
颜色:黑色;
}
.topnav a.active{
背景色:#4CAF50;
颜色:白色;
}
.topnav.icon{
显示:无;
}
@媒体屏幕和屏幕(最大宽度:600px){
.topnav a:not(:第一个子项){display:inline block;}
.topnav a.icon{
浮动:对;
显示:块;
}
}
@媒体屏幕和屏幕(最大宽度:600px){
.topnav.responsive{位置:相对;}
.topnav.responsive.icon{
位置:绝对位置;
右:0;
排名:0;
}
.topnav.a{
浮动:无;
显示:块;
文本对齐:左对齐;
}
}
函数myFunction(){
var x=document.getElementById(“myTopnav”);
如果(x.className==“topnav”){
x、 类名+=“响应”;
}否则{
x、 className=“topnav”;
}
}
我不认为您正在使用引导。检查这个引导谢谢你回答这么多细节!我很感激!:)
<style>
body {
margin: 0;
font-family: Arial, Helvetica, sans-serif;
}
.topnav {
overflow: hidden;
background-color:#001a33;
height: auto;
}
.topnav a {
float: left;
display: block;
color: #f2f2f2;
padding: 14px 16px;
text-decoration: none;
font-size: 17px;
}
.topnav a:hover {
background-color: #ddd;
color: black;
}
.topnav a.active {
background-color: #4CAF50;
color: white;
}
.topnav .icon {
display: none;
}
@media screen and (max-width: 600px) {
.topnav a:not(:first-child) {display: inline-block;}
.topnav a.icon {
float: right;
display: block;
}
}
@media screen and (max-width: 600px) {
.topnav.responsive {position: relative;}
.topnav.responsive .icon {
position: absolute;
right: 0;
top: 0;
}
.topnav.responsive a {
float: none;
display: block;
text-align: left;
}
}
</style>
</head>
<body>
<div class="topnav" id="myTopnav">
<a href="#home" class="active">Home</a>
<a href="#news">News</a>
<a href="#contact">Contact</a>
<a href="#about">About</a>
<a href="javascript:void(0);" class="icon" onclick="myFunction()">
<i class="fa fa-bars"></i>
</a>
</div>
<script>
function myFunction() {
var x = document.getElementById("myTopnav");
if (x.className === "topnav") {
x.className += " responsive";
} else {
x.className = "topnav";
}
}
</script>