在 window 大小更改时更改侧边导航栏
Change Side Nav Bar on window size change
我正在尝试为网站制作侧边导航。到目前为止,我正在使用 <nav>
元素并用 <li>
填充它来创建我的边栏。
到目前为止,我的代码在 (p.s 内联样式仅用于测试,稍后我将使用外部 css 文件):
<body>
<nav style="background: #3f9edd; height: 1000px; min-width: 200px; position:fixed;">
<li style="position: relative; display: block; background: #2ecc71; width: 100%; height: 10%; padding: 33px 25px;">Home Area</li>
<li style="position: relative; display: block; background: #2b87c3; width: 100%; height: 5%; padding: 33px 25px; border-bottom: 1px solid;">item one</li>
<li style="position: relative; display: block; background: #2b87c3; width: 100%; height: 5%; padding: 33px 25px; border-bottom: 1px solid;">item two</li>
<li style="position: relative; display: block; background: #2b87c3; width: 100%; height: 5%; padding: 33px 25px; border-bottom: 1px solid;">item three</li>
<li style="position: relative; display: block; background: #2b87c3; width: 100%; height: 5%; padding: 33px 25px; border-bottom: 1px solid;">item four</li>
<li style="position: relative; display: block; background: #2b87c3; width: 100%; height: 5%; padding: 33px 25px; border-bottom: 1px solid;">item five</li>
</nav>
<div class="container" ng-controller="projectController">
</div>
</body>
以上代码输出如下:
我的问题是什么!
如果用户调整其 window 的大小,或者他们可能从 iPad 或 iPhone 等访问该网站,我将尝试更改侧边导航栏。
如果全屏显示这个(我已经显示这个了)
但是如果屏幕尺寸低于某个尺寸,导航栏会自动更改为:
我不确定如何开发此功能。谁能指导我正确的方向。如果您需要更多信息,请告诉我。
提前致谢。
在您的 li
中有两个不同的跨度。
<li style="position: relative; display: block; background: #2b87c3; width: 100%; height: 5%; padding: 33px 25px; border-bottom: 1px solid;"><span class="showLarge">Large vieport</span><span class="showTablet">Tablet vieport</span></li>
默认:
.showTablet {
display: none;
}
对于平板电脑视口:
@media only screen and (max-width: 768px) {
.showLarge {
display: none;
}
.showTablet {
display: block;
}
}
这是一个非常粗略的示例,纯 css
但可以用作基础,您也可以将过渡等添加到断点,使其看起来更漂亮
Codepen http://codepen.io/noobskie/pen/XmeXEo?editors=110
HTML
<nav role='navigation'>
<ul>
<li><a href="#"><i class="fa fa-chrome"></i><span>Home</span></a></li>
<li><a href="#"><i class="fa fa-chrome"></i><span>About</span></a></li>
<li><a href="#"><i class="fa fa-chrome"></i><span>Clients</span></a></li>
<li><a href="#"><i class="fa fa-chrome"></i><span>Contact Us</span></a></li>
</ul>
</nav>
CSS
body{
margin:0;
}
nav{
background:#2F404F;
height: 100vh;
width:auto;
position:fixed;
ul{
margin:0;
padding:0;
}
li{
position: relative;
display: block;
padding:20px 10px;
border-bottom:1px solid #000;
a{
color:#FFF;
text-decoration:none;
font-size:1.3em;
i{
padding:0 5px 0 0;
}
}
}
}
@media only screen and (max-width: 768px) {
span{
display:none;
}
}
我正在尝试为网站制作侧边导航。到目前为止,我正在使用 <nav>
元素并用 <li>
填充它来创建我的边栏。
到目前为止,我的代码在 (p.s 内联样式仅用于测试,稍后我将使用外部 css 文件):
<body>
<nav style="background: #3f9edd; height: 1000px; min-width: 200px; position:fixed;">
<li style="position: relative; display: block; background: #2ecc71; width: 100%; height: 10%; padding: 33px 25px;">Home Area</li>
<li style="position: relative; display: block; background: #2b87c3; width: 100%; height: 5%; padding: 33px 25px; border-bottom: 1px solid;">item one</li>
<li style="position: relative; display: block; background: #2b87c3; width: 100%; height: 5%; padding: 33px 25px; border-bottom: 1px solid;">item two</li>
<li style="position: relative; display: block; background: #2b87c3; width: 100%; height: 5%; padding: 33px 25px; border-bottom: 1px solid;">item three</li>
<li style="position: relative; display: block; background: #2b87c3; width: 100%; height: 5%; padding: 33px 25px; border-bottom: 1px solid;">item four</li>
<li style="position: relative; display: block; background: #2b87c3; width: 100%; height: 5%; padding: 33px 25px; border-bottom: 1px solid;">item five</li>
</nav>
<div class="container" ng-controller="projectController">
</div>
</body>
以上代码输出如下:
我的问题是什么!
如果用户调整其 window 的大小,或者他们可能从 iPad 或 iPhone 等访问该网站,我将尝试更改侧边导航栏。
如果全屏显示这个(我已经显示这个了)
但是如果屏幕尺寸低于某个尺寸,导航栏会自动更改为:
我不确定如何开发此功能。谁能指导我正确的方向。如果您需要更多信息,请告诉我。
提前致谢。
在您的 li
中有两个不同的跨度。
<li style="position: relative; display: block; background: #2b87c3; width: 100%; height: 5%; padding: 33px 25px; border-bottom: 1px solid;"><span class="showLarge">Large vieport</span><span class="showTablet">Tablet vieport</span></li>
默认:
.showTablet {
display: none;
}
对于平板电脑视口:
@media only screen and (max-width: 768px) {
.showLarge {
display: none;
}
.showTablet {
display: block;
}
}
这是一个非常粗略的示例,纯 css
但可以用作基础,您也可以将过渡等添加到断点,使其看起来更漂亮
Codepen http://codepen.io/noobskie/pen/XmeXEo?editors=110
HTML
<nav role='navigation'>
<ul>
<li><a href="#"><i class="fa fa-chrome"></i><span>Home</span></a></li>
<li><a href="#"><i class="fa fa-chrome"></i><span>About</span></a></li>
<li><a href="#"><i class="fa fa-chrome"></i><span>Clients</span></a></li>
<li><a href="#"><i class="fa fa-chrome"></i><span>Contact Us</span></a></li>
</ul>
</nav>
CSS
body{
margin:0;
}
nav{
background:#2F404F;
height: 100vh;
width:auto;
position:fixed;
ul{
margin:0;
padding:0;
}
li{
position: relative;
display: block;
padding:20px 10px;
border-bottom:1px solid #000;
a{
color:#FFF;
text-decoration:none;
font-size:1.3em;
i{
padding:0 5px 0 0;
}
}
}
}
@media only screen and (max-width: 768px) {
span{
display:none;
}
}