私が何をしているかを示すJSfiddleをチェックしてください:http://jsfiddle.net/Amp3rsand/FPj3s/1/
HTML:
<ul id="navigation">
<li><a href="#">BLAH</a></li>
<li><a href="#">MORE <br /> BLAH</a></li>
<li><a href="#">STILL <br /> MORE</a></li>
<li><a href="#">YADDA <br /> YADDA</a></li>
<li><a href="#">ETC ETC <br /> ETC ETC</a></li>
<li><a href="#">FINISH</a></li>
</ul>
CSS:
body {
font-size: 12px;}
}
#navigation {
width: 600px;
height: 50px;
position: absolute;
left: 20px;
top: 25px;
}
#navigation li {
list-style-type:none;
width: 94px;
height: 40px;
display: block;
float: left;
margin: 0 5px 0 0;
text-align: center;
font-weight: bold;
background: lightgrey;
}
#navigation li:first-child {
border-top: 40px solid lightgrey;
border-left: 25px solid transparent;
height: 0;
width: 70px;
background: none;
}
#navigation li:first-child a {
position: relative;
top: -35px;
right: 0px
}
#navigation li:last-child {
border-top: 40px solid lightgrey;
border-right: 25px solid transparent;
height: 0;
width: 70px;
background: none;
}
#navigation li:last-child a {
position: relative;
top: -35px;
left: 5px;
}
#navigation li:last-child a:hover {
top: -35px;
left: 5px;
}
#navigation li a {
display: block;
height: 40px;
text-decoration: none;
color:#000;
}
#navigation li a:hover {
background: grey;
}
ライトグレーの形状は、ホバーをどのように見せたいかです。最初と最後の子だけが異なって見える必要がありますが、レイアウトを台無しにすることなくホバー時に境界線をいじる方法がわかりません。国境の悪ふざけのために最初と最後の「a」要素を移動する必要がありましたが、今は行き詰まっています。何を提案しますか?
編集:ホバービットの形状を変更するためにこれを行うことができることに気付きましたが、リンクの位置はまだ問題を引き起こしています
#navigation li:last-child a:hover {
border-top: 40px solid grey;
border-right: 25px solid transparent;
height: 0;
width: 70px;
background: none;
}