前提
横スクロールする横並びのメニューを作成しています。
サンプル
また、隠れているメニューの存在を知らせるために、メニューの両サイドに矢印のようなマークを配置しています。
発生している問題
上記サンプルのページで、HTML、CSS、JavaScript、Consoleすべてのタブを表示させると、メニュー両端にある矢印マークとメニュー枠の余白が狭まってしまいます。
逆の言い方をすれば、Outputタブのみを表示にすると余白が広がってしまいます。
実現したいこと
ウインドウサイズを問わず、メニューの両端と矢印マーク間の余白を固定したいです。
該当のソースコード
CSS
1html{ 2 text-align: center 3} 4 5button { 6 background: none; 7 border: 0; 8 outline: none; 9 -webkit-appearance: none; 10 -moz-appearance: none; 11 appearance: none; 12} 13 14.buttons { 15 display: inline-flex; 16 align-items: center; 17 justify-content: center; 18 box-sizing: border-box; 19 width: 100px; 20 height: 100px; 21 margin: 0 1%; 22 border: 5px solid #000; 23 background-color: #fff; 24 cursor: pointer; 25} 26 27.fab, .fas { 28 font-size: 50px; 29} 30 31a { 32 line-height: 0; 33} 34 35#css{ 36 display: none; 37} 38 39#wrap{ 40 overflow: hidden; 41} 42 43#wrap2{ 44 overflow-x: auto; 45 margin: auto; 46 max-width: 50%; 47} 48 49ul{ 50 display: inline-table; 51 border-collapse: separate; 52 border-spacing: 1em .4em; 53} 54 55li{ 56 display: table-cell; 57} 58 59.fa-chevron-left{ 60 position: absolute; 61 bottom: 80%; 62 left: 15% 63} 64 65.fa-chevron-right{ 66 position: absolute; 67 bottom: 80%; 68 right: 15% 69}
HTML
1<body> 2 <div id="wrap"> 3 <div id="wrap2"> 4 <ul> 5 <li><button class="buttons"><i class="fab fa-html5"></i></button></li> 6 <li><label for="css" class="buttons"> 7 <i class="fab fa-css3-alt"></i> 8 <input type="checkbox" id="css"> 9 </label></li> 10 <li><button class="buttons"><i class="fab fa-js-square"></i></button></li> 11 <li><label for="python" class="buttons"> 12 <a id="python"><i class="fab fa-python"></i></a> 13 </label></li> 14 <li><button class="buttons"><i class="fab fa-php"></i></button></li> 15 <li><button class="buttons"><i class="fab fa-java"></i></button></li> 16 </ul> 17 </div> 18 <i class="fas fa-chevron-left"></i> 19 <i class="fas fa-chevron-right"></i> 20 </div> 21</body>
試したこと
そもそも、矢印マークをメニューの両端に配置することに苦戦しました。
苦戦の結果、矢印マークそれぞれに、
CSS
1position: absolute; 2bottom: 80%; 3left: 15%
を設定することで見かけ上の実装はできました。
しかし、この方法がまったくもって強引な方法なのは重々承知しており、この方法ゆえに上記の問題が発生していることも存じています。
また、左矢印マークを<ul>
の上に、右矢印マークを</ul>
の下に記述することで、
左矢印 ― メニュー ― 右矢印
というレイアウトになりました。
しかし、ウインドウサイズが小さくなると、
左矢印
メニュー
右矢印
のように縦に重なってしまい、実現したいレイアウトではなくなりました。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/25 09:50
2019/08/25 10:14