Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何根据窗口宽度调整菜单宽度_Html_Css_Viewport_Navigationbar - Fatal编程技术网

Html 如何根据窗口宽度调整菜单宽度

Html 如何根据窗口宽度调整菜单宽度,html,css,viewport,navigationbar,Html,Css,Viewport,Navigationbar,我正在设计导航菜单,但无法根据窗口调整宽度。我想使菜单宽度为100%,当我们改变窗口大小时,菜单仍然从左到右覆盖 我正在使用以下代码设计导航: HTML <nav class="span9"> <!-- Menu--> <ul id="menu" class="sf-menu"> <li class=""><a href="index.html" class="sf-with-ul">HOME</a></li&

我正在设计
导航菜单
,但无法根据窗口调整宽度。我想使
菜单宽度为100%
,当我们改变窗口大小时,菜单仍然从左到右覆盖

我正在使用以下代码设计导航:

HTML

<nav class="span9">
<!-- Menu-->
<ul id="menu" class="sf-menu">
    <li class=""><a href="index.html" class="sf-with-ul">HOME</a></li>
    <li><a href="about.html">ABOUT</a></li>
    <li><a href="services.html">SERVICES</a></li>
    <li class=""><a href="work.html" class="sf-with-ul">WORK</a></li>
    <li class=""><a href="blog.html" class="sf-with-ul">BLOG</a></li>
    <li class=""><a href="tables_princing.html" class="sf-with-ul">FEATURES</a></li>                                                        
    <li><a href="contact.html">CONTACT</a></li>
 </ul>
 <!-- End Menu-->
</nav>

在这里,为父元素设置最小宽度将解决此问题。但它仍然可能创建一个滚动条,或者如果您将overflow设置为hidden,它将裁剪出一些文本。 要防止这种滚动/剪切,可以使用javascript或。比起javascript解决方案,我更喜欢媒体查询。但您可能需要支持css3的浏览器。 下面是使用css修改的媒体查询

.sf-menu {
margin: 0;
padding-top:7px;}
.sf-menu > li {
position: relative;
float: left;
list-style: none;
line-height: 20px;
margin: 0 40px 0 0;
}
.sf-menu > li > a {
text-decoration: none;
display: block;
font-size: 17px;
}
@media all and (min-width:500px){
.sf-menu > li {
    position: relative;
    float: left;
    list-style: none;
    line-height: 14px;
    margin: 0 30px 0 0;
}    
.sf-menu > li > a {
    text-decoration: none;
    display: block;
    font-size: 14px;
}
}

将最小宽度设置为父元素将解决此问题。但它仍然可能创建一个滚动条,或者如果您将overflow设置为hidden,它将裁剪出一些文本。 要防止这种滚动/剪切,可以使用javascript或。比起javascript解决方案,我更喜欢媒体查询。但您可能需要支持css3的浏览器。 下面是使用css修改的媒体查询

.sf-menu {
margin: 0;
padding-top:7px;}
.sf-menu > li {
position: relative;
float: left;
list-style: none;
line-height: 20px;
margin: 0 40px 0 0;
}
.sf-menu > li > a {
text-decoration: none;
display: block;
font-size: 17px;
}
@media all and (min-width:500px){
.sf-menu > li {
    position: relative;
    float: left;
    list-style: none;
    line-height: 14px;
    margin: 0 30px 0 0;
}    
.sf-menu > li > a {
    text-decoration: none;
    display: block;
    font-size: 14px;
}
}

如果要使导航菜单栏的宽度为100%。为您的HTML尝试以下CSS

CSS

.sf-menu {
    margin: 0;
    padding-top: 7px;
}
.sf-menu > li {
    position: relative;
    float: left;
    list-style: none;
    line-height: 20px;
    margin: 0 40px 0 0;
}
.sf-menu > li > a {
    text-decoration: none;
    display: block;
    font-size: 17px;
}
nav {
    display: table;
    width: 100%;
    border-collapse: collapse;
    border: none;
}
nav ul {
    display: table-row;
}
nav li {
    display: table-cell;
    margin: 0;
}

如果要使导航菜单栏的宽度为100%,请单击此处。为您的HTML尝试以下CSS

CSS

.sf-menu {
    margin: 0;
    padding-top: 7px;
}
.sf-menu > li {
    position: relative;
    float: left;
    list-style: none;
    line-height: 20px;
    margin: 0 40px 0 0;
}
.sf-menu > li > a {
    text-decoration: none;
    display: block;
    font-size: 17px;
}
nav {
    display: table;
    width: 100%;
    border-collapse: collapse;
    border: none;
}
nav ul {
    display: table-row;
}
nav li {
    display: table-cell;
    margin: 0;
}

这里的问题很不清楚。你能解释得更多/更好吗?例如,您希望100%宽度的元素是什么?我希望以这种方式创建导航菜单,以便即使我更改屏幕大小,它也能触摸左右角。@Ankit-我不确定您要找的是否相同,但您是否介意检查此链接-,如果有意义。问题非常不清楚。你能解释得更多/更好吗?例如,您希望100%宽度的元素是什么?我希望以这种方式创建导航菜单,以便即使我更改屏幕大小,它也能触摸左右角。@Ankit-我不确定它是否与您要查找的相同,但您是否介意检查此链接-,如果有意义的话。