gpt4 book ai didi

Css 网格和汉堡包菜单

转载 作者:行者123 更新时间:2023-12-04 20:15:54 27 4
gpt4 key购买 nike

我一般都在学习 css,但我很失败,非常,非常努力...

我想用我的 css 网格做一件简单的事情,只是让隐藏的菜单从右到左而不是从左到右动画化,但我不知道我必须改变什么才能做到这一点..

你们能帮帮我吗?这是 fiddle :https://jsfiddle.net/xwvL2a70/

/* grid */
.container {
display: grid;
grid-template-columns: 1fr;
grid-gap: 10px;
}

/* items */
.container > * {
color: #353535;
font-size: 1.2em;
line-height: 1.5;
padding: 20px;
background: #d0cfc5;
}

/* nav styles */
.container nav {
background: #136fd2;
}

nav ul {
list-style: none;
margin: 0;
padding: 0;
}

nav a {
color: #d0cfc5
}

nav a:hover {
text-decoration: none;
}

/* media query for grid layout */
@media only screen and (min-width: 600px) {

/* grid */
.container {
grid-template-columns: repeat(4, 1fr);
}

/* specific item styles */
.container header,
.container nav,
.container footer {
grid-column: span 4;
}
.container section {
grid-column: span 3;
}

/* nav styles */
nav ul li {
display: inline-block;
padding: 0 20px 0 0;
}

/* hide toggle */
.toggle {
display: none;
}

}

/* media query for nav styles */
@media only screen and (max-width: 599px) {

#nav {
transition: transform .3s ease-in-out;
top: 0;
bottom: 0;
min-height: 100vh; /* override Safari bug */
position: fixed; /* or choose `absolute` depending on desired behavior*/
width: 300px;
left: -340px;
}

#nav:target {
transform: translateX(340px);
}

.close {
text-align: right;
display: block;
text-decoration: none;
font-size: 3em;
position: relative;
top: -30px;
}

.open {
text-align: left;
}

}

最佳答案

你只需要改变你的 left: -340px;right: -340px; 然后你的 transform: translateX(340px);转换:translateX(-340px);。这两者都在媒体查询中。

这是一个工作示例(如果您以全屏方式查看并缩小窗口宽度以进行预览):

/* grid */
.container {
display: grid;
grid-template-columns: 1fr;
grid-gap: 10px;
}

/* items */
.container > * {
color: #353535;
font-size: 1.2em;
line-height: 1.5;
padding: 20px;
background: #d0cfc5;
}

/* nav styles */
.container nav {
background: #136fd2;
}

nav ul {
list-style: none;
margin: 0;
padding: 0;
}

nav a {
color: #d0cfc5
}

nav a:hover {
text-decoration: none;
}

/* media query for grid layout */
@media only screen and (min-width: 600px) {

/* grid */
.container {
grid-template-columns: repeat(4, 1fr);
}

/* specific item styles */
.container header,
.container nav,
.container footer {
grid-column: span 4;
}
.container section {
grid-column: span 3;
}

/* nav styles */
nav ul li {
display: inline-block;
padding: 0 20px 0 0;
}

/* hide toggle */
.toggle {
display: none;
}

}

/* media query for nav styles */
@media only screen and (max-width: 599px) {

#nav {
transition: transform .3s ease-in-out;
top: 0;
bottom: 0;
position: fixed;
width: 300px;
right: -340px;
}

#nav:target {
transform: translateX(-340px);
}

.close {
text-align: right;
display: block;
text-decoration: none;
font-size: 3em;
position: relative;
top: -30px;
}

.open {
text-align: left;
}

}
<div class="support-grid"></div>

<div class="container">

<header role="banner">
<a class="toggle open" href="#nav">open</a>
<h1>Header</h1>
</header>

<nav id="nav" role="navigation">
<a class="toggle close" href="#">×</a>
<ul>
<li>
<a href="#">Item 1</a>
</li>
<li>
<a href="#">Item 2</a>
</li>
<li>
<a href="#">Item 3</a>
</li>
</ul>
</nav>

<section role="main">
<article>
<h2>Article</h2>
<p>Curabitur orci lacus, auctor ut facilisis nec, ultricies quis nibh. Phasellus id diam sollicitudin, malesuada turpis id, gravida erat. Maecenas placerat elit vel hendrerit convallis. Sed in mauris ut justo vulputate viverra feugiat ac dui. Fusce feugiat arcu in vehicula vehicula. Donec varius justo at nulla aliquet volutpat.</p>
<p>Ut id rutrum eros. Nulla tristique, magna et mattis vulputate, mi eros suscipit turpis, nec bibendum turpis nunc feugiat sapien. Nunc arcu est, lacinia id diam quis, sagittis euismod neque. Nullam fringilla velit sed porta gravida. Proin eu vulputate libero. Ut a lacinia enim. Etiam venenatis mauris et orci tempor congue. Sed tempor eros et ultricies congue. Aenean sed efficitur orci. Nulla vel tempus mi.</p>
<p>Ut cursus suscipit augue, id sagittis nibh faucibus eget. Etiam suscipit ipsum eu augue ultricies, at rhoncus mi faucibus. In et tellus vitae leo scelerisque fringilla nec at nunc.</p>
</article>
</section>

<aside>
<h3>Aside</h3>
</aside>

<footer>
<h3>Footer</h3>
</footer>

</div>

关于Css 网格和汉堡包菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48280455/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com