gpt4 book ai didi

html - 如何将导航栏固定到移动 View 的屏幕底部>

转载 作者:行者123 更新时间:2023-11-28 16:25:11 25 4
gpt4 key购买 nike

当我在桌面上查看时,我目前有一个侧边栏作为导航栏。在桌面 View 中,图标和文本并排排列,左侧是图标,右侧是文本。

我试图让它在折叠到移动 View 时,侧边栏折叠到固定在屏幕底部的导航栏。图标在顶部并在文本下方居中。

这是我目前拥有的:http://codepen.io/anon/pen/bpRgEJ

这是我尝试到达底部位置的代码:

@media (max-width:35em) {

.main-nav {
background: #ECC264;
border-right: 1px solid #e5e5e5;
position: fixed;
margin: 0;
left: 0;
bottom: 0;
height: 5em;
width: 100%;
}
}

它目前折叠成顶部导航栏,图标和文本并排放置,而不是上下排列。

任何帮助将不胜感激,谢谢!

最佳答案

首先,我建议您按如下方式组织您的 CSS:

1.- 具有影响一切规则的通用选择器和类

2.- 仅影响特定宽度行为的媒体查询。

因此,如果您需要一个始终固定的导航栏,但桌面版导航栏位于屏幕左侧,移动版导航栏位于页面底部,您应该这样写:

.sidebar{ /* Every rule that will be always visible, something like colors, fonts, etc. */
background-color: yellow;
position: fixed;
}

@media(min-width:35.1em){ /* Larger than mobile devices */
.sidebar{
left: 0;
top: 0;
bottom: 0;
width: 40px;
}
}

@media(max-width:35em){ /* Breakpoint only for mobile */
.sidebar{
bottom: 0;
width: 100%;
}
}

通过这种方式,您将避免处理不匹配的规则。

您的完整 CSS 应如下所示:

.fa-2x {
font-size: 2rem;
}
.fa {
position: relative;
text-align: center;
vertical-align: middle;
font-size: 2rem;
}

.main-nav {
background: #ECC264;
border-right: 1px solid #e5e5e5;
position: fixed;
z-index: 1000;
}
.main-nav>ul {
margin: 0rem 0rem;
}

nav ul,
nav li {
outline: 0;
margin: 0;
padding: 0;
}
.main-nav li:hover>a,
nav.main-nav li.active>a{
color: #fff;
background-color: #919191;
}

.main-nav .nav-text, .main-nav li>a{
font-family: 'Roboto', sans-serif;
}

.main-nav li>a {
border-collapse: collapse;
border-spacing: 0;
color: white;
font-size: 1.03rem;
text-decoration: none;
}

@media (min-width:35.1em) {
.fa{
display: table-cell;
width: 5rem;
height: 5rem;
}

.main-nav:hover,
nav.main-nav.expanded {
width: 15em;
overflow: visible;
}

.main-nav{
top: 0;
bottom: 0;
height: 100%;
left: 0;
width: 5rem;
overflow: hidden;
-webkit-transition: width .05s linear;
transition: width .05s linear;
-webkit-transform: translateZ(0) scale(1, 1);
}

.main-nav li {
position: relative;
display: block;
width: 18rem;
}
.main-nav li>a {
position: relative;
display: table;
-webkit-transform: translateZ(0) scale(1, 1);
-webkit-transition: all .1s linear;
transition: all .1s linear;
}

.main-nav .nav-text {
position: relative;
display: table-cell;
vertical-align: middle;
width: 10rem;
}
}


@media (max-width:35em) {

.main-nav {
background: #ECC264;
border-right: 1px solid #e5e5e5;
position: fixed;
margin: 0;
left: 0;
bottom: 0;
/*height: 5em;*/
width: 100%;
}

.main-nav ul{
display: table;
width: 100%;
}

.main-nav li{
float: left;
width: 25%;
list-style-type: none;
text-align: center;
}

.main-nav a{
display: block;
padding: 5px;
height: 74px;
}

.main-nav i, .main-nav span{
display: block;
}

.main-nav span{
font-size: 14px;
}
}

您的示例在 Codepen 中 fork :http://codepen.io/xWaZzo/pen/BKZpQE

关于html - 如何将导航栏固定到移动 View 的屏幕底部>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36232624/

25 4 0