前提・実現したいこと
横だけはみ出したくない要素にoverflow-x:hiddenを指定したところ、
縦のはみ出した部分まで非表示になってしまいます。
またoverflow-x:scrollと指定した場合も縦が非表示になります。
しかし、overflow-y:hiddenもしくはoverflow-y:scrollと指定した場合は、
横は隠されずにちゃんと縦だけに効果が適用されています。
また、別の部分でposition:stickyを使用しているので、
bodyにoverflow-x:hiddenを適用することが出来ません。
これは何をしても回避出来ない仕様なのでしょうか?
もし詳しい方がいらしたらご教授お願い致します。
追記:ソースコード
html
1<!DOCTYPE html> 2<html> 3<head> 4<meta charset="UTF-8"> 5<title>Document</title> 6<style> 7 *{ 8 margin: 0; 9 padding: 0; 10 } 11.abc { 12 width: 100%; 13 height: 300px; 14 background: blue; 15} 16.aaa { 17 width: 100%; 18 height: 500px; 19 background: #000; 20 overflow-x: hidden; 21} 22.bbb { 23 width: 100%; 24 height: 200px; 25 margin-top: -100px; 26 background: red; 27} 28.ccc { 29 width: 100%; 30 height: 200px; 31 margin-left: 10%; 32 background: #ccc; 33} 34</style> 35</head> 36<body> 37<div class="abc"></div> 38<div class="aaa"> 39 <div class="bbb"> 40 <div class="ccc">この部分を横は隠して縦はスクロールバーをつけずそのまま表示させたい</div> 41 </div> 42</div> 43</body> 44</html>
こんにちは。もう少し具体的に、コードなど記載いただければお力になれるかと思います。
ありがとうございます。元のコードを細かく書くと膨大な量になってしまうので大まかに書かせていただきました。
widtnはwidthのタイポでしょうか
ソースを貼る時は、できれば「そのままコピペすれば現象を再現できるソース」を貼り付けると回答が付きやすいです(元のソースそのままではなくても良いのですが、とりあえず現象が再現する状態が良いです)。 提示されたソースをひとまずコピペしてみましたが、これはどうなるのが理想形なのでしょうか。class="b" の部分に ああああ... と長い文字列を入れてみたら縦スクロールバーが出ましたが、どうなるのが理想形なのでしょうか。(まず class="b" の部分に長いテキストを入れるので良いの?)
あとブラウザとか書いたほうが良いかも。上記は windows10/chrome で試しました。
widthはタイプミスです。ご指摘ありがとうございます。
ブラウザは windows10/chromeです。コードをそのまま試せるように修正させていただきました。
回答2件
あなたの回答
tips
プレビュー