私はそれを説明する方法と、それを示すことができる方法をまったく知らないのではないかと心配しています. だから私はこのフィドルをセットアップしました。
ご覧のとおり、ナビゲーション メニューはあるべき場所にありません。head 要素の下端と左端に正確に設定する必要があります。すなわちbottom: 0
とleft: 0
。しかし、私は -90degs の回転を設定してnav
います。回転が存在しないかのように、要素の絶対配置が回転の前に、または元の要素で行われていることは明らかです。
疑似要素を使用し:before
て、その方法で解決できるかどうかを試してみました。:after
しかし、これらの疑似要素を完全に把握することはできません。どちらの場合も、ローテーションはバイパスされました。(回転がなければ、nav
要素は明らかに本来あるべき場所に配置されます。)
これは基本的にコードです:
<div id="head">
<div id="title">My Web</div>
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About Me</a></li>
<li><a href="#">Something Else</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
</div>
派手なものはありません。
これが CSS (この問題に関係する部分) です。
#head {
position: relative;
}
nav {
position: absolute;
bottom: 0;
left: 0;
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
-ms-transform: rotate(-90deg);
-o-transform: rotate(-90deg);
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
transform: rotate(-90deg);
}
nav a {
display: inline-block;
padding: 0 9px;
}
誰かが私に手を貸してくれることを願っています。
PS。また、タグ内のテキストのサイズによっては、<a>
タグ内の垂直要素間の距離が0.5 ピクセルのようnav
にわずかに大きくなり、境界線がぼやけてしまうことがあります。これは、要素の 1 つに 4 文字とスペースが追加されたこの別のバージョンで確認できます。<a>
なぜこれが違いを生むのか理解できません。ただし、メニューの見栄えが悪くなります。