位置为 "Fixed" 时的侧导航栏
side navbar when position is "Fixed"
我有一个侧面导航栏,我已经将浮动设置为正确的
然后当我把位置:固定;它向左漂浮
为什么会这样?谁能帮帮我?
这是我的 html:
<div id="navbar">
<ul>
<li><a href="default.asp"> <i class="fa fa-pagelines fa-2x"></i></a></li>
<li><a href="news.asp"> <i class="fa fa-smile-o fa-2x"></i></a></li>
<li><a href="contact.asp"> <i class="fa fa-envelope-o fa-2x"></i></a></li>
<li><a href="about.asp"> <i class="fa fa-home fa-2x"></i></a></li>
<li><a href="default.asp"> <i class="fa fa-plus-square fa-2x"></i></a></li>
<li><a href="news.asp"> <i class="fa fa-bell-o fa-2x"></i></a></li>
<li><a href="contact.asp"> <i class="fa fa-cog fa-2x"></i></a></li>
<li><a href="about.asp"> <i class="fa fa-clock-o fa-2x"></i></a></li>
<li><a href="about.asp"> <i class="fa fa-power-off fa-2x"></i></a></li>
</ul>
</div>
这是我的 css:
#navbar{
position:fixed;
}
ul {
list-style-type: none;
margin: 0;
padding: 0;
height:auto;
width: 70px;
background: rgba(255, 255, 255, 0.1);
float:right;
}
li a {
display: block;
color: #ffffff;
padding: 22.2px 10px;
text-decoration: none;
-webkit-transition: all 0.5s ease;
transition: all 0.5s ease;
-webkit-appearance: none;
}
li a:hover,li a:focus {
background-color:#28a828;
color: green;
}
谢谢:)
您需要制作一个 ID 为 'content' 的 div 标签或类似这样的内容:<div id="content">
.
然后在 CSS 中给它一个 left-margin
或 80px
或大约那个大小的东西。 (我建议改用 EM,因为它们可以随 Web 浏览器扩展并在任何平台上工作)
您的最终代码应如下所示:
Index.html
<div id="navbar">
<ul>
<li><a href="default.asp"> <i class="fa fa-pagelines fa-2x"></i></a></li>
<li><a href="news.asp"> <i class="fa fa-smile-o fa-2x"></i></a></li>
<li><a href="contact.asp"> <i class="fa fa-envelope-o fa-2x"></i></a></li>
<li><a href="about.asp"> <i class="fa fa-home fa-2x"></i></a></li>
<li><a href="default.asp"> <i class="fa fa-plus-square fa-2x"></i></a></li>
<li><a href="news.asp"> <i class="fa fa-bell-o fa-2x"></i></a></li>
<li><a href="contact.asp"> <i class="fa fa-cog fa-2x"></i></a></li>
<li><a href="about.asp"> <i class="fa fa-clock-o fa-2x"></i></a></li>
<li><a href="about.asp"> <i class="fa fa-power-off fa-2x"></i></a></li>
</ul>
</div>
<div id="content">
<h1>CONTENT</h1>
<h1>CONTENT</h1>
<h1>CONTENT</h1>
<h1>CONTENT</h1>
<h1>CONTENT</h1>
<h1>CONTENT</h1>
</div>
stylesheet.css
#navbar{
position:fixed;
}
ul {
list-style-type: none;
margin: 0;
padding: 0;
height:auto;
width: 70px;
background: rgba(255, 255, 255, 0.1);
float:right;
}
li a {
display: block;
color: #ffffff;
padding: 22.2px 10px;
text-decoration: none;
-webkit-transition: all 0.5s ease;
transition: all 0.5s ease;
-webkit-appearance: none;
}
li a:hover,li a:focus {
background-color:#28a828;
color: green;
}
#content {
margin-left: 80px;
}
您可以在此处查看此工作的演示:JSfiddle DEMO。
发生这种情况是因为与 position: relative
的元素相比,position: fixed
的元素不会拉伸整个宽度。
所以你可以设置:
#navbar {
width: 100%;
position:fixed;
}
它们会很好地工作:JSFiddle
另一种方法,您可以在ul
中删除float: right
,并为#navbar
设置top/right。
这也行得通:JSFiddle
我有一个侧面导航栏,我已经将浮动设置为正确的 然后当我把位置:固定;它向左漂浮 为什么会这样?谁能帮帮我?
这是我的 html:
<div id="navbar">
<ul>
<li><a href="default.asp"> <i class="fa fa-pagelines fa-2x"></i></a></li>
<li><a href="news.asp"> <i class="fa fa-smile-o fa-2x"></i></a></li>
<li><a href="contact.asp"> <i class="fa fa-envelope-o fa-2x"></i></a></li>
<li><a href="about.asp"> <i class="fa fa-home fa-2x"></i></a></li>
<li><a href="default.asp"> <i class="fa fa-plus-square fa-2x"></i></a></li>
<li><a href="news.asp"> <i class="fa fa-bell-o fa-2x"></i></a></li>
<li><a href="contact.asp"> <i class="fa fa-cog fa-2x"></i></a></li>
<li><a href="about.asp"> <i class="fa fa-clock-o fa-2x"></i></a></li>
<li><a href="about.asp"> <i class="fa fa-power-off fa-2x"></i></a></li>
</ul>
</div>
这是我的 css:
#navbar{
position:fixed;
}
ul {
list-style-type: none;
margin: 0;
padding: 0;
height:auto;
width: 70px;
background: rgba(255, 255, 255, 0.1);
float:right;
}
li a {
display: block;
color: #ffffff;
padding: 22.2px 10px;
text-decoration: none;
-webkit-transition: all 0.5s ease;
transition: all 0.5s ease;
-webkit-appearance: none;
}
li a:hover,li a:focus {
background-color:#28a828;
color: green;
}
谢谢:)
您需要制作一个 ID 为 'content' 的 div 标签或类似这样的内容:<div id="content">
.
然后在 CSS 中给它一个 left-margin
或 80px
或大约那个大小的东西。 (我建议改用 EM,因为它们可以随 Web 浏览器扩展并在任何平台上工作)
您的最终代码应如下所示:
Index.html
<div id="navbar">
<ul>
<li><a href="default.asp"> <i class="fa fa-pagelines fa-2x"></i></a></li>
<li><a href="news.asp"> <i class="fa fa-smile-o fa-2x"></i></a></li>
<li><a href="contact.asp"> <i class="fa fa-envelope-o fa-2x"></i></a></li>
<li><a href="about.asp"> <i class="fa fa-home fa-2x"></i></a></li>
<li><a href="default.asp"> <i class="fa fa-plus-square fa-2x"></i></a></li>
<li><a href="news.asp"> <i class="fa fa-bell-o fa-2x"></i></a></li>
<li><a href="contact.asp"> <i class="fa fa-cog fa-2x"></i></a></li>
<li><a href="about.asp"> <i class="fa fa-clock-o fa-2x"></i></a></li>
<li><a href="about.asp"> <i class="fa fa-power-off fa-2x"></i></a></li>
</ul>
</div>
<div id="content">
<h1>CONTENT</h1>
<h1>CONTENT</h1>
<h1>CONTENT</h1>
<h1>CONTENT</h1>
<h1>CONTENT</h1>
<h1>CONTENT</h1>
</div>
stylesheet.css
#navbar{
position:fixed;
}
ul {
list-style-type: none;
margin: 0;
padding: 0;
height:auto;
width: 70px;
background: rgba(255, 255, 255, 0.1);
float:right;
}
li a {
display: block;
color: #ffffff;
padding: 22.2px 10px;
text-decoration: none;
-webkit-transition: all 0.5s ease;
transition: all 0.5s ease;
-webkit-appearance: none;
}
li a:hover,li a:focus {
background-color:#28a828;
color: green;
}
#content {
margin-left: 80px;
}
您可以在此处查看此工作的演示:JSfiddle DEMO。
发生这种情况是因为与 position: relative
的元素相比,position: fixed
的元素不会拉伸整个宽度。
所以你可以设置:
#navbar {
width: 100%;
position:fixed;
}
它们会很好地工作:JSFiddle
另一种方法,您可以在ul
中删除float: right
,并为#navbar
设置top/right。
这也行得通:JSFiddle