斜めの線で区切られた横並びのメニューを作ろうとしているのですが、ホバー時の動きをうまく作ることが出来ません。
html
1 <div class="pc_menu_con"> 2 <div class="pc_menu_box"> 3 <a href="#"><div class="pc_menu_cel">TOP</div></a> 4 <a href="#"><div class="pc_menu_cel">メニュー</div></a> 5 <a href="#"><div class="pc_menu_cel">メニュー</div></a> 6 <a href="#"><div class="pc_menu_cel">メニュー</div></a> 7 <a href="#"><div class="pc_menu_cel">メニュー</div></a> 8 <a href="#"><div class="pc_menu_cel">メニュー</div></a> 9 <a href="#"><div class="pc_menu_cel">メニュー</div></a> 10 </div> 11 </div> 12
各メニューの間は斜めの線で区切ろうとしています。
また、ホバー時には背景画像を表示しようとしています。
css
1.pc_menu_con { 2 width: 100%; 3 min-width: 1000px; 4 background: url(lib/images/menu_bg00_1.png) repeat-x center center; 5 margin: 0 auto; 6} 7.pc_menu_box { 8 width: 1000px; 9 display: -webkit-flex; 10 display: -moz-flex; 11 display: -ms-flex; 12 display: -o-flex; 13 display: flex; 14 flex-wrap: wrap; 15 margin: 0 auto; 16} 17.pc_menu_box a { 18 color: #FFF; 19 text-decoration: none; 20 font-weight: 700; 21} 22.pc_menu_cel { 23 width: 142px; 24 height: 50px; 25 box-sizing: border-box; 26 display: -webkit-flex; 27 display: flex; 28 -webkit-align-items: center; 29 align-items: center; 30 -webkit-justify-content: center; 31 justify-content: center; 32 position: relative; 33} 34.pc_menu_cel::before { 35 content : ""; 36 top : 0; 37 left : 0; 38 position : absolute; 39 width: 142px; 40 height: 50px; 41 box-sizing: border-box; 42 transform : skewX(-8deg); 43 border-right: 2px solid #FFF; 44} 45.pc_menu_cel:hover::before{ 46 background: url(lib/images/menu_bg00_1_on.png) repeat-x; 47 content : ""; 48 top : 0; 49 left : 0; 50 position : absolute; 51 width: 142px; 52 height: 50px; 53 box-sizing: border-box; 54 transform : skewX(-8deg); 55 border-right: 2px solid #FFF; 56}
こうすると、ホバー時にひし形の背景は出るのですが、テキストが消えてしまいます。
また、左側のボーダーも消えてしまいます。
また、最後のメニューには右側のボーダーは不要なので消したいのですが
css
1.pc_menu_cel::before:last-child{ 2 border-right:0px; 3}
としてもボーダーは消えず
css
1.pc_menu_cel:last-child::before{ 2 border-right:0px; 3}
こうすると全部のボーダーが消えます。
どのように修正したら良いでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/11 00:35