【发布时间】:2012-11-07 22:41:57
【问题描述】:
我开始学习html'n'css,但是我遇到了一件我无法解释的事情。我有一个 html 文件,它有一个类似于链接的 div(在应用程序中,我正在设置 div 大小并希望整个框像链接一样)。我无法删除 div 中文本的文本下划线装饰(示例中的 Link1 始终带下划线)。选择器应该是“链接元素内的任何div”,因为链接是红色的,我认为是正确的。
我设法通过引入一个用于显式删除下划线的特殊类来做到这一点(示例中的 Link2 可以),但我希望将所有菜单样式放在一个地方。
问题是,是否有人可以解释为什么像这样的删除装饰(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>
非常感谢!
【问题讨论】:
-
您确定应该将块级元素放入内联元素中吗?也许你应该把 a 放在 div 里面。
-
是的,但是只有链接文本像链接一样。我需要整个盒子像这样工作——这是 div 元素的目的。不幸的是,为链接元素设置宽度/高度不起作用..
-
@JoeM。请参阅下面的答案,但您需要像这样更改
.menuitem的display:display:block;然后给它一个宽度和高度。