- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
基本问题已在本论坛中多次提出,但从未得到令人满意的回答,IMO。如何在表格单元格内拉伸(stretch) div 以使其填充单元格(垂直、水平或两者)?
Make a div fill an entire table cell
Stretch div to 100% of height in a table cell
Streching div vertically inside a table cell
How can I scale a div to 100% height and width inside of another element
100% height div inside a display:table-cell div
等等等等
是的,我知道当我应该完全通过优雅的 CSS 创建表格时,我会被认为是考虑在表格单元格中嵌入 div 的另一个化石,正如 Rachel Andrew 和 Kevin Yank 在 Everything 中所赞美的那样你知道 CSS 是错误的! (2008)。但是在试用了他们和其他人所写的内容之后,我并没有留下深刻的印象。他们“成功”的秘诀在于依靠 display:table 系列属性来创建 CSS“表格”,那么您最终会得到什么?一个 div(框)充当表格、表格行或表格单元格。你不能让它的 Angular 变圆(我需要在表格单元格中嵌入一个 div 的原因之一),没有跨越行和列的规定(我需要)并且你不能将任何封闭的 div 拉伸(stretch)到全高将它嵌入另一个盒子或 table 中,所以就这个问题而言,你回到原点。表格不能构成好的 div,反之亦然。
正如上述链接帖子之一中提到的那样,基本问题是表格单元格不会自愿将其高度(以像素为单位)提供给任何包含的 div,因此包括“height:100%”甚至“min-height:100”样式表中没有其他解决方法的 %"将被忽略。单元格是单元格,div 是 div,两者永远不会相遇,除非你对 Javascript 很得心应手,而我不是。我只是想要一个非脚本的、健壮的标记,使特定 div 的垂直高度与封闭表格单元格的垂直高度相匹配,这样如果相邻的单元格更高,我的 div 将随着整行的拉伸(stretch)而拉伸(stretch),以保持 100%。
我不想使用 position:absolute;顶部:0;底部:0 以像素为单位定义单元格高度,因为行高将取决于最高单元格的高度。
好吧,我以为我真的实现了 chalice ,如下所示。这是一个包含 3 个 div(实际上是 HTML5 中的导航)的单行表格。我希望中间的(即第二个)拉伸(stretch)到该行的整个高度。 (添加 - 因此当文本附加到第 1 列或第 3 列或从中删除时,从而扩展或收缩整行的垂直高度,第 2 列将始终保持在包含它的单元格的完整垂直高度。这意味着如果相邻的列包含更多文本,则文本下方有额外的空白(粉红色空间,请参见代码!)。此外,第 2 列包含的文本是否多于第 1 列或第 3 列也没有关系;就我而言,它们可以缩小.)
<!DOCTYPE html>
<html>
<html lang="en">
<meta charset="utf-8">
<title></title>
<link href="style4.css" rel="stylesheet">
</head>
<body>
<table id="tbl_main" border="1" style="width:60%; table-layout:fixed">
<!-- Creates columns of equal width -->
<tr class="v_align_top">
<td><nav id="col1" class="normal">COL 1 Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis.
Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus. </nav>
</td>
<td height="100%">
<table id="tbl_inner">
<tr>
<td style="height:100%">
<nav id="col2" class="vstretch">COL 2 Morbi in sem quis dui placerat ornare. Pellentesque odio nisi, euismod in, pharetra a, ultricies in, diam. Sed arcu. Cras consequat. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus.
</nav>
</td>
</tr>
</table>
</td>
<td><nav id="col3" class="normal">COL 3 Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus.</nav></td>
</tr>
</table>
</body>
</html>
这是 CSS:
#tbl_main {
border: 1px solid black;
border-collapse:collapse;
}
#tbl_inner {
border: 1px solid black;
border-collapse:collapse;
height:100%; /* min-height doesn't work here */
}
tr.v_align_top{
vertical-align: top;
}
.normal {
border-radius: 20px 20px 20px 20px;
border: 3px solid rgb(0, 0, 0);
padding: 10px;
}
.vstretch {
border-radius: 20px 20px 20px 20px;
border: 3px solid rgb(0, 0, 0);
padding: 10px;
}
#col1 {
background-color: rgb(220, 220, 220);
margin:5px;
}
#col2 { /* stretch to 100% height of table cell */
background-color: rgb(255, 220, 220);
margin:5px 5px 5px 5px;
height:100%;
}
#col3 {
background-color: rgb(220, 220, 220);
margin:5px;
}
(已添加)您可以在这里玩:jsFiddle link
这是它的外观(Windows 7 上的 Firefox 10):
不幸的是,由于我的帖子还不够多,还没有获得直接发布图片的权利,您将不得不使用此链接。
我故意让表格边框可见。哎呀。中间的 div 延伸到封闭表格的下方,无论我是在 Col 1 中添加还是减去文本,看起来都是相同数量的像素。多么奇怪。将 #col2 的高度减小到 95% 不是解决方案,因为它只是一个波动的近似值。
那么近又那么远。从bottom-margin: -10px 到border-spacing: 20px 我能想到的都试过了都没有解决这个问题。任何人都可以提出一个答案,或者想出一些简单的 Javascript 来一劳永逸地解决它吗?非常感谢。
最佳答案
关于javascript - 在表格单元格内拉伸(stretch)的 div 垂直溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10764086/
我已经尝试在我的 CSS 中添加一个元素来删除每三个 div 的 margin-right。不过,似乎只是出于某种原因影响了第 3 次和第 7 次。需要它在第 3、6、9 等日工作... CSS .s
如何使 div/input 闪烁或“脉冲”?例如,假设表单字段输入了无效值? 最佳答案 使用 CSS3 类似 on this page ,您可以将脉冲效果添加到名为 error 的类中: @-webk
我目前正在尝试构建一个简单的 wireframe来自 lattice 的情节包,但由沿 y 轴的数百个点组成。这导致绘图被线框网格淹没,您看到的只是一个黑色块。我知道我可以用 col=FALSE 完全
在知道 parent>div CSS 选择器在 IE 中无法识别后,我重新编码我的 CSS 样式,例如: div#bodyMain div#paneLeft>div{/*styles here*/}
我有两个 div,一个在另一个里面。当我将鼠标悬停 到最外面的那个时,我想改变它的颜色,没问题。但是,当我将鼠标悬停 到内部时,我只想更改它的颜色。这可能吗?换句话说,当 将鼠标悬停到内部 div 上
我需要展示这样的东西 有人可以帮忙吗?我可以实现以下输出 我正在使用以下代码:: GridView.builder( scrollDirection: Axis.vertical,
当 Bottom Sheet 像 Android 键盘一样打开时,是否有任何方法可以手动上推布局( ScrollView 或回收器 View 或整个 Activity )?或者你可以说我想以 Bott
我有以下代码,用于使用纯 HTML 和 CSS 显示翻转。当您将鼠标悬停在文本上时,它会更改左右图像。 在我测试的所有浏览器中都运行良好,Safari 4 除外。据我收集的信息,Safari 4 支持
我构建了某种 CMS,但在使用 TinyMCE 和 Bootstrap 时遇到了一些问题。 我有一个页面,其中概述了一个 div,如果用户单击该 div,他们可以从模态中选择图像。该图像被插入到一个
出于某种原因,当我设置一个过渡时,当我的鼠标悬停在一个元素上时,背景会改变颜色,它只适用于一个元素,但它们都共享同一个类?任何帮助我的 CSS .outer_ad { position:rel
好吧,这真的很愚蠢。我不知道 Android Studio 中的调试监视框架发生了什么。我有 1.5.1 的工作室。 是否有一些来自 intellij 的 secret 知识来展示它。 最佳答案 与以
我有这个标记: some code > 我正在尝试获取此布局: 注意:上一个和下一个按钮靠近#player 我正在尝试这样: .nextBtn{
网站:http://avuedesigns.com/index 首页有 6 个菜单项。我希望每件元素在您经过时都有自己的颜色。 这是当您将鼠标悬停在 div 上时将所有内容更改为白色的行 li#hom
我需要在 index.php 文件中显示它,但没有任何效果。我所有的文章都没有正确定位。我将其用作代码: 最佳答案 您可以首先检查您
我是一名优秀的程序员,十分优秀!