运行 ❯
获取您
自己
的网站
×
更改方向
保存代码
更改主题,深色/浅色
前往 Spaces
<!DOCTYPE html> <html> <head> <style> #container { width: 50%; aspect-ratio: 2/3; margin: auto; border: solid black 2px; overflow-x: scroll; overflow-y: hidden; scroll-snap-type: x mandatory; writing-mode: vertical-rl; } #container > div { margin: 2px; scroll-snap-align: start none; scroll-margin-top: 30px; } .green { background-color: lightgreen; width: 95%; aspect-ratio: 4/3; } .blue { background-color: lightblue; width: 80%; aspect-ratio: 3/2; } </style> </head> <body> <h3>CSS scroll-margin-top with altered snap position.</h3> <p>Snap position must be placed on top of the child elements for scroll-margin-top to work. On pages written in English the snap position can normally be set on top of child elements by setting scroll-snap-align to "start none" because block direction is downwards. But, if we change block direction with the writing-mode property value set to "vertical-rl", the snap position changes from top to right side of the child elements. With the code like this the scroll-margin-top property no longer works.</p> <div id="container"> <div class="blue">Blue</div> <div class="green">Green</div> <div class="blue">Blue</div> <div class="green">Green</div> <div class="blue">Blue</div> <div class="green">Green</div> <div class="blue">Blue</div> <div class="green">Green</div> </div> </body> </html>