我找到了这个代码笔,但它是水平的。当我试图使它垂直时,它不起作用。
我在笔上找到了代码:
// None!
/* Hide the scroll bars */
body {
overflow-y: hidden;
}
.slides {
/* We set the scroll snapping */
scroll-snap-type: x mandatory;
/* Necessary for mobile scrolling */
-webkit-overflow-scrolling: touch;
/* For layout purposes */
display: flex;
/* To allow horizontal scrolling */
overflow-x: scroll;
}
section {
/* For styling purposes */
height: 100vh;
min-width: 100vw;
display: flex;
align-items: center;
justify-content: center;
background-repeat: no-repeat;
background-size: cover;
/* Set where the snapping should happen */
scroll-snap-align: start;
}
/* Styling for the sections */
section h2 {
font-family: system-ui, sans-serif;
font-size: 2rem;
color: #1a1a1a;
font-weight: 100;
}
section h3 {
font-family: system-ui, sans-serif;
font-size: 2rem;
color: #ffffff;
font-weight: 100;
}
.section-1 {
background-image: url('https://images.unsplash.com/photo-1524260855046-f743b3cdad07?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1401&q=80')
}
.section-2 {
background-image: url('https://images.unsplash.com/34/BA1yLjNnQCI1yisIZGEi_2013-07-16_1922_IMG_9873.jpg?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1351&q=80')
}
.section-3 {
background-image: url('https://images.unsplash.com/photo-1500964757637-c85e8a162699?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1378&q=80')
}
.section-4 {
background-image: url('https://images.unsplash.com/photo-1501791330673-603715379ded?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1350&q=80')
}
<main class="slides">
<section class="section-1">
<h2>Scroll right to see it in action 👉</h2>
</section>
<section class="section-2">
<h3>Woah! That's a cool effect!</h3>
</section>
<section class="section-3">
<h2>And no Javascript! 🤓</h2>
</section>
<section class="section-4">
<h3>How cool is that?</h3>
</section>
</main>
我试图将水平滚动快照更改为垂直滚动快照:
// None!
/* Hide the scroll bars */
body {
overflow-x: hidden;
}
.slides {
/* We set the scroll snapping */
scroll-snap-type: y mandatory;
/* Necessary for mobile scrolling */
-webkit-overflow-scrolling: touch;
}
section {
/* For styling purposes */
height: 100vh;
min-width: 100vw;
align-items: center;
justify-content: center;
background-repeat: no-repeat;
background-size: cover;
/* Set where the snapping should happen */
scroll-snap-align: start;
}
/* Styling for the sections */
section h2 {
font-family: system-ui, sans-serif;
font-size: 2rem;
color: #1a1a1a;
font-weight: 100;
}
section h3 {
font-family: system-ui, sans-serif;
font-size: 2rem;
color: #ffffff;
font-weight: 100;
}
.section-1 {
background-image: url('https://images.unsplash.com/photo-1524260855046-f743b3cdad07?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1401&q=80')
}
.section-2 {
background-image: url('https://images.unsplash.com/34/BA1yLjNnQCI1yisIZGEi_2013-07-16_1922_IMG_9873.jpg?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1351&q=80')
}
.section-3 {
background-image: url('https://images.unsplash.com/photo-1500964757637-c85e8a162699?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1378&q=80')
}
.section-4 {
background-image: url('https://images.unsplash.com/photo-1501791330673-603715379ded?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1350&q=80')
}
<main class="slides">
<section class="section-1">
<h2>Scroll down to see it in action 👉</h2>
</section>
<section class="section-2">
<h3>Woah! That's a cool effect!</h3>
</section>
<section class="section-3">
<h2>And no Javascript! 🤓</h2>
</section>
<section class="section-4">
<h3>How cool is that?</h3>
</section>
</main>
我试着把所有的x改为y,把所有的y改为x,以及不同的组合,但我仍然找不到解决方案。
您的父元素没有固定的高度,并且会扩展以适合子元素。除此之外,还需要为父元素设置overflow-y: scroll;
// None!
/* Hide the scroll bars */
body {
margin: 0;
padding: 0;
overflow-x: hidden;
}
.slides {
/* We set the scroll snapping */
scroll-snap-type: y mandatory;
/* Necessary for mobile scrolling */
-webkit-overflow-scrolling: touch;
display: flex;
flex-flow: column;
/* hide horizontal overflow */
overflow-x: hidden;
/* allow vertical overflow */
overflow-y: scroll;
/* set the height for parent, overwise it will expand to fit children */
height: 100vh;
}
section {
/* For styling purposes */
display: flex;
min-height: 100vh;
width: 100vw;
align-items: center;
justify-content: center;
background-repeat: no-repeat;
background-size: cover;
/* Set where the snapping should happen */
scroll-snap-align: start;
}
/* Styling for the sections */
section h2 {
font-family: system-ui, sans-serif;
font-size: 2rem;
color: #1a1a1a;
font-weight: 100;
}
section h3 {
font-family: system-ui, sans-serif;
font-size: 2rem;
color: #ffffff;
font-weight: 100;
}
.section-1 {
background-image: url('https://images.unsplash.com/photo-1524260855046-f743b3cdad07?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1401&q=80')
}
.section-2 {
background-image: url('https://images.unsplash.com/34/BA1yLjNnQCI1yisIZGEi_2013-07-16_1922_IMG_9873.jpg?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1351&q=80')
}
.section-3 {
background-image: url('https://images.unsplash.com/photo-1500964757637-c85e8a162699?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1378&q=80')
}
.section-4 {
background-image: url('https://images.unsplash.com/photo-1501791330673-603715379ded?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1350&q=80')
}
<main class="slides">
<section class="section-1">
<h2>Scroll down to see it in action 👉</h2>
</section>
<section class="section-2">
<h3>Woah! That's a cool effect!</h3>
</section>
<section class="section-3">
<h2>And no Javascript! 🤓</h2>
</section>
<section class="section-4">
<h3>How cool is that?</h3>
</section>
</main>
其他css属性只是为了美观而添加的,可以随意忽略。