html'n'css を学び始めましたが、説明できないことが 1 つあります。リンクのように機能する div を持つ html ファイルがあります (アプリケーションでは、div サイズを設定していて、ボックス全体をリンクのように機能させたいと考えています)。ただし、div 内のテキストの下線装飾を削除することはできません (例の Link1 には常に下線が引かれています)。セレクターは「リンク要素内の任意の div」である必要があり、リンクが赤であるため、正しいと思います。
下線を明示的に削除するための特別なクラスを導入することでこれを行うことができました (例の Link2 は問題ありません) が、すべてのメニュー スタイルを 1 か所にまとめたいと考えています。
問題は、このようなデコ (Link1) の削除が機能しない理由を誰かが説明できるかどうかです。さらに、メニューの構成が良いスタイルであるかどうか、またはコードを再編成する必要があるかどうかを尋ねたいと思います。たとえば、次のようにします。
<a href="index.html" class="menuitem"><div>Blabla</div></a>
そしてスタイル:
a.menuitem {...}
a.menuitem div {width:...;}
最小限の(非)動作例を次に示します。
<html>
<head>
<style>
a div.menuitem {
text-decoration: none;
color: red;
}
.remove-under {
text-decoration: none;
}
</style>
</head>
<body>
<a href="./index.html">
<div class="menuitem">Link1</div>
</a>
<a href="./index.html" class="remove-under">
<div class="menuitem">Link2</div>
</a>
</body>
</html>
どうもありがとう!