以下の設定では、cssは完全に水平なメニューバーを生成するというトリックを行います。とにかく、その属性がブロック(アンカータグ)として設定されていても、第3グループのスタイルシートによれば、私は知りたいと思っています。なぜそれは本当にブロックとして振る舞いませんか?ブロック属性を非ブロック要素に設定する
私はほとんどのCSSチュートリアルから、ブロックは要素の前後に改行があることを知っているので、この場合、なぜ彼ら(すべてのアンカー)が同じ行の別のものの隣に配置されているのでしょうか。私はちょうど興味があり、理解したいと思う。
どのような説明をいただければ幸いです!
ul {
list-style-type: none;
height: 28px;
width: 100%;
margin: auto;
}
li {
float: left;
}
ul a {
background-repeat: no-repeat;
background-position: right;
padding-right: 10px;
padding-left: 10px;
display: block;
line-height: 28px;
text-decoration: none;
color: #FFFFFF;
}
あなたが左にフロートするように設定されている<li>
を持っているHTML
<div id="menuBar">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about">About</a></li>
</ul>
</div>
これは、cssの子要素が親のプロパティ値に従うことを意味しますか? –
はい、これが意味することです。 CSSのすべてが継承されます –
@Michael Rader:間違っています。 'inherit'を指定するまでCSSのすべてのプロパティがデフォルトで継承されるわけではなく、' display'はデフォルトで継承されないプロパティの1つです。 – BoltClock