Html CSS:使块元素填充父元素的整个空间?

Html CSS:使块元素填充父元素的整个空间?,html,css,Html,Css,我试图在元素中放置一个链接,并使 Lorem ipsum dolor sit amet,是一位杰出的献身者。Nam dapibus tortor。 Lorem ipsum dolor sit amet,是一位杰出的献身者。Nam dapibus tortor。Lorem ipsum dolor sit amet,是一位杰出的献身者。Nam dapibus tortor。Lorem ipsum dolor sit amet,是一位杰出的献身者。Nam dapibus tortor。 如您所见,

我试图在
元素中放置一个链接,并使

Lorem ipsum dolor sit amet,是一位杰出的献身者。Nam dapibus tortor。
Lorem ipsum dolor sit amet,是一位杰出的献身者。Nam dapibus tortor。Lorem ipsum dolor sit amet,是一位杰出的献身者。Nam dapibus tortor。Lorem ipsum dolor sit amet,是一位杰出的献身者。Nam dapibus tortor。


如您所见,如果将鼠标悬停在链接上,
元素没有垂直填充,这会产生尴尬的外观。我可以通过将悬停背景设置为“th:hover a”样式来修复悬停背景,但只有在您单击实际的
a
标记的位置时,链接才会真正起作用。

您需要为
指定一个高度,以便您的样式块最终类似于

th {
  font-size: 50%;
  width: 20em;
  height: 8ex;
  line-height: 100%;
}

编辑:实际上,对于高度,您可能应该使用垂直度量值,如“ex”,而不是水平度量值“em”。示例已更改以反映这一点。

为此,您可以设置“a”元素的像素高度,而不是百分比

如果指定百分比,100%将成为文本本身的高度

像素高度将为您提供静态高度,并适用于这种情况

td a {height: 100px;}
如上所述,您需要给
一个高度。您也可以在那里使用高度:100%

如果你知道你的
的尺寸,在这种情况下你可能不会知道(因为它们在侧面),我很幸运地添加了一个填充物,将
向外推到边缘(通过
本身的任何填充物),然后以相应的负边距将其带回来。像这样:

th a{
  padding: 10px 0;
  margin: -10px 0;
}

把这个款式换成这个

th {
  font-size: 50%;
  width: 20em;
  height: 100%;
  line-height: 100%; 
}

干杯

您可以使用javascript实现这一点(见下文)


th{
字体大小:50%;
宽度:20em;
背景色:#aaa;
}
.关{
背景色:#aaa;
}
.在{
背景色:#333
}
>

第th个元素需要指定一个高度。将其高度设置为100%会导致元素扩展到其容器的高度(即行的高度)。这在IE6中可能无法正常工作,您可以尝试添加
\u height:1%
来解决IE6-我没有IE6来测试这一点,但我在Firefox中进行了测试,它似乎正在做您想要的事情

th {
  height: 100%;
}

我最接近的是这个

th {
  float: left;
  overflow: hidden;
  font-size: 50%;
  width: 20em;
  margin: auto;
}
th a {
  display: table; /* or block, up to you */
  margin: none;
  width:100%;
  height: 1px;
  background-color: #aaa;
  padding: 20%;
}

但是它使你所有的行都一样高。如果有问题,也许其他人可以解决。

问题是表中每行的高度需要是动态的。即使您确实设置了高度,内容也会根据浏览器的宽度调整大小,因此您不能指望它是一个精确的高度。不幸的是,每个表格行的高度都会根据内容而变化,我不希望每一行都处于固定高度。只需添加一个100%的高度即可。)一定要在IE6中测试这一点,因为它无法正确处理100%的相对值…幸运的是,这是一个内部工具,我可以使用IE6打孔任何人。:)重要提示:我刚刚花了一些时间发现,当文档上设置了正确的DOCTYPE时,给出的答案实际上不起作用。它只在怪癖模式下工作。解决方法很简单:
元素的高度必须为100%。不幸的是,此解决方案(包括上的高度)仅在IE6/7/8和Opera中的怪癖模式下有效,在Safari(和Chrome)中根本不起作用。您的链接已失效。
th {
  height: 100%;
}
th {
  float: left;
  overflow: hidden;
  font-size: 50%;
  width: 20em;
  margin: auto;
}
th a {
  display: table; /* or block, up to you */
  margin: none;
  width:100%;
  height: 1px;
  background-color: #aaa;
  padding: 20%;
}