我可以在没有行包装器元素的情况下启动CSS表格单元格的新行吗?
给定这样的标记:我可以在没有行包装器元素的情况下启动CSS表格单元格的新行吗?,css,css-tables,Css,Css Tables,给定这样的标记: <div class="a">A</div> <div class="b">B</div> <div class="a">A</div> <div class="b">B</div> <div class="a">A</div> <div class="b">B</div> |-------|---------| | |
<div class="a">A</div>
<div class="b">B</div>
<div class="a">A</div>
<div class="b">B</div>
<div class="a">A</div>
<div class="b">B</div>
|-------|---------|
| | |
| A | B |
| | |
|-------|---------|
| | |
| A | B |
| | |
|-------|---------|
| | |
| A | B |
| | |
|-------|---------|
(如果A或B中的内容较长,则其相邻内容将增长到与其高度相匹配的程度)
没有任何附加标记
我知道给表格单元格的.a
和.b
a显示值只会使这一行变大
解决方案是什么?不,我认为“没有任何附加标记”是不可能的。它需要:
div
包装,带显示:表行代码>包含A和B“单元”
- JavaScript,侦听器位于
div
s上,它将确定每对中A和B的高度的max
,并将其设置为较小的高度
第二种解决方案:
CSS:
jQuery:
$(function() {
var max_width_a = 0, max_width_b = 0;
$("div.a").each(function() {
var elem_a = $(this),
elem_b = elem_a.next("div.b"),
height_a = elem_a.height(),
height_b = elem_b.height(),
pair = [elem_a, elem_b];
max_width_a = Math.max(max_width_a, elem_a.width());
max_width_b = Math.max(max_width_b, elem_b.width());
$(pair).height(Math.max(height_a, height_b));
}).width(max_width_a);
$("div.b").width(max_width_b);
});
我更新了你的小提琴。如果要确定动态高度更改,则必须对文档进行自定义
如果我必须解释它是如何工作的,请告诉我。当然,您可以强制CSS中的div.a
和div.b
的宽度,而不必使用jQuery检查最大宽度(那么您只需要确定每对中的最大高度)。不,如果不给每行一个包装器,这是不可能的
这是一个纯css解决方案,包含一个单独的包装器(每行)
还有html
<div class="row">
<div class="a">Mofo break yo neck, yaonna chung fizzle, bizzle dizzle dang dolor boom shackalack augue. Fizzle izzle away sit its fo riz</div>
<div class="b">Lorizzle hizzle dolizzle sit amet, brizzle adipiscing elizzle. Nullam i saw beyonces tizzles and my pizzle went crizzle shizzlin dizzle, fo shizzle mah nizzle fo rizzle, mah home g-dizzle sizzle, suscipit quizzle, i saw beyonces tizzles and my pizzle went crizzle vizzle, arcu. Break yo neck, yall shiznit tortor. Sed eros. Ma nizzle izzle you son of a bizzle dapibizzle turpishizzle. Integizzle check out this velit sed fo.</div>
</div>
<div class="row">
<div class="a">Sizzle ullamcorpizzle. Shut the shizzle up sagittizzle dizzle a shiznit. Vestibulizzle you son of a bizzle ipsizzle primis izzle faucibus orci pot et ultrices posuere dope Fo shizzle; Crazy vestibulizzle. Fo shizzle my nizzle habitant morbi tristique senectus ma nizzle netizzle izzle tellivizzle famizzle turpis hizzle. Donizzle tempor hendrerit hizzle. Aliquizzle erat volutpat. </div>
<div class="b">Vivamizzle sagittis.rttitizzle izzle, boom shackalack hizzle, orci. Integizzle hizzle funky fresh lectus. </div>
</div>
<div class="row">
<div class="a">Donizzle tempor hendrerit hizzle. Aliquizzle erat volutpat. Things crunk fizzle, scelerisque bizzle, daahng dawg the bizzle, crackalackin shiznit, arcu. Daahng dawg elizzle. Crazy fermentizzle, est izzlot purizzle , bibendizzle sizzle amizzle, fo shizzle vehicula, fo shizzle my nizzle malesuada, shizznit. Aenizzle fizzle ipsizzle izzle est ullamcorpizzle tincidunt. Cool quizzle. Mauris ligula urna, tempizzle shut th</div>
<div class="b">Mofo break yo neck, yall fo shizzle izzle leo bibendum crackalackin. Vivamizzle shit tortor vizzle away. Brizzle malesuada fo magna. Dang commodo, nisl nizzle go to hizzle egestizzle, magna dolor w</div>
</div>
<div class="row">
<div id="container_b">
<div id="container_a">
<div id="column_a">Lorizzle hizzle dolizzle sit amet, brizzle adipiscing elizzle. Nullam i saw beyonces tizzles and my pizzle went crizzle shizzlin dizzle, fo shizzle mah nizzle fo rizzle, mah home g-dizzle sizzle, suscipit quizzle, i saw beyonces tizzles and my pizzle went crizzle vizzle, arcu. Break yo neck, yall shiznit tortor. Sed eros. Ma nizzle izzle you son of a bizzle dapibizzle turpishizzle. Integizzle check out this velit sed fo.</div>
<div id="column_b">Vivamizzle sagittis.rttitizzle izzle, boom shackalack hizzle, orci. Integizzle hizzle funky fresh lectus. </div>
</div>
</div>
</div>
<div class="row">
<div id="container_b">
<div id="container_a">
<div id="column_a">Lorizzle hizzle dolizzle sit amet, brizzle adipiscing elizzle. Nullam i saw beyonces tizzles and my pizzle went crizzle shizzlin dizzle, fo shizzle mah nizzle fo rizzle, mah home g-dizzle sizzle, suscipit quizzle, i saw beyonces tizzles and my pizzle went crizzle vizzle, arcu. Break yo neck, yall shiznit tortor. Sed eros. Ma nizzle izzle you son of a bizzle dapibizzle turpishizzle. Integizzle check out this velit sed fo.</div>
<div id="column_b">Vivamizzle sagittis.rttitizzle izzle, boom shackalack hizzle, orci. Integizzle hizzle funky fresh lectus. </div>
</div>
</div>
</div>
<div class="row">
<div id="container_b">
<div id="container_a">
<div id="column_a">Lorizzle hizzle dolizzle sit amet, brizzle adipiscing elizzle. Nullam i saw beyonces tizzles and my pizzle went crizzle shizzlin dizzle, fo shizzle mah nizzle fo rizzle, mah home g-dizzle sizzle, suscipit quizzle, i saw beyonces tizzles and my pizzle went crizzle vizzle, arcu. Break yo neck, yall shiznit tortor. Sed eros. Ma nizzle izzle you son of a bizzle dapibizzle turpishizzle. Integizzle check out this velit sed fo.</div>
<div id="column_b">Vivamizzle sagittis.rttitizzle izzle, boom shackalack hizzle, orci. Integizzle hizzle funky fresh lectus. </div>
</div>
</div>
</div>
莫福扭断你的脖子,摇摇晃晃,头晕目眩当当多乐或隆隆作响。嘶嘶嘶嘶作响,坐在它的后面
洛里兹·希兹尔·多利兹尔坐在阿梅特,布里兹·阿迪皮斯·伊莉兹。我看到碧昂丝提兹利,我的毛毛在迪兹利,嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘。折断你的脖子,亚尔·希兹尼特·托托。塞德·厄洛斯。妈,你这狗娘养的。Integizzle检查一下这个velit sed fo。
嘶嘶声。闭上你的嘴,让你头晕目眩。前厅,你是一个古怪的人的儿子,你是一个爱挑剔的人,你是一个爱挑剔的人;疯狂的前庭。我的邻居morbi tristique Sentecus ma nizzle netizzle izzle tellivizzle famizzle turpis hizzle。暂时的,暂时的。阿利奎特·帕特。
维瓦米兹·萨吉蒂,提提兹·伊兹勒,勃姆·夏卡拉克·伊兹勒,奥奇。整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块。
暂时的,暂时的。阿利奎特·帕特。一切都会化为乌有,权杖比兹利,达昂达格比兹利,疯狂的希兹尼,阿库。Daahng dawg elizzle。疯狂的发酵酒,最纯净的酒,最刺激的酒,最刺激的酒,最刺激的汽车,最刺激的酒,最刺激的酒。Aenizzle-fizzle-ipsizzle-izzle-est-ullamcorpizzle-tincidunt。清凉的小点心。毛里斯·利古拉·乌纳,坦皮兹勒
莫福扭断了你的脖子,你真是个蠢货。维瓦米兹·拉特·维兹离开了。马莱苏阿达大酒店。当商品,nisl nizzle去hizzle egestizzle,magna dolor w
如果你想让a和b有不同的背景颜色,你就必须使用高度:100%我在评论中提到了这一点,但可能只是作为一个答案。下面是如何做同样的事情(使用行)强制100%的高度
.row {
background-color: #ccc;
float: left;
margin: 10px 0;
padding: 1em;
width: 50%;
}
#container_a {
background-color: blue;
float: left;
position: relative;
right: 50%;
width: 100%;
}
#container_b {
background-color: red;
float: left;
overflow: hidden;
position: relative;
right: 0;
width: 100%;
}
#column_a {
float: left;
left: 50%;
overflow: hidden;
position: relative;
width: 46%;
}
#column_b {
float: left;
left: 56%;
overflow: hidden;
position: relative;
width: 46%;
}
还有html
<div class="row">
<div class="a">Mofo break yo neck, yaonna chung fizzle, bizzle dizzle dang dolor boom shackalack augue. Fizzle izzle away sit its fo riz</div>
<div class="b">Lorizzle hizzle dolizzle sit amet, brizzle adipiscing elizzle. Nullam i saw beyonces tizzles and my pizzle went crizzle shizzlin dizzle, fo shizzle mah nizzle fo rizzle, mah home g-dizzle sizzle, suscipit quizzle, i saw beyonces tizzles and my pizzle went crizzle vizzle, arcu. Break yo neck, yall shiznit tortor. Sed eros. Ma nizzle izzle you son of a bizzle dapibizzle turpishizzle. Integizzle check out this velit sed fo.</div>
</div>
<div class="row">
<div class="a">Sizzle ullamcorpizzle. Shut the shizzle up sagittizzle dizzle a shiznit. Vestibulizzle you son of a bizzle ipsizzle primis izzle faucibus orci pot et ultrices posuere dope Fo shizzle; Crazy vestibulizzle. Fo shizzle my nizzle habitant morbi tristique senectus ma nizzle netizzle izzle tellivizzle famizzle turpis hizzle. Donizzle tempor hendrerit hizzle. Aliquizzle erat volutpat. </div>
<div class="b">Vivamizzle sagittis.rttitizzle izzle, boom shackalack hizzle, orci. Integizzle hizzle funky fresh lectus. </div>
</div>
<div class="row">
<div class="a">Donizzle tempor hendrerit hizzle. Aliquizzle erat volutpat. Things crunk fizzle, scelerisque bizzle, daahng dawg the bizzle, crackalackin shiznit, arcu. Daahng dawg elizzle. Crazy fermentizzle, est izzlot purizzle , bibendizzle sizzle amizzle, fo shizzle vehicula, fo shizzle my nizzle malesuada, shizznit. Aenizzle fizzle ipsizzle izzle est ullamcorpizzle tincidunt. Cool quizzle. Mauris ligula urna, tempizzle shut th</div>
<div class="b">Mofo break yo neck, yall fo shizzle izzle leo bibendum crackalackin. Vivamizzle shit tortor vizzle away. Brizzle malesuada fo magna. Dang commodo, nisl nizzle go to hizzle egestizzle, magna dolor w</div>
</div>
<div class="row">
<div id="container_b">
<div id="container_a">
<div id="column_a">Lorizzle hizzle dolizzle sit amet, brizzle adipiscing elizzle. Nullam i saw beyonces tizzles and my pizzle went crizzle shizzlin dizzle, fo shizzle mah nizzle fo rizzle, mah home g-dizzle sizzle, suscipit quizzle, i saw beyonces tizzles and my pizzle went crizzle vizzle, arcu. Break yo neck, yall shiznit tortor. Sed eros. Ma nizzle izzle you son of a bizzle dapibizzle turpishizzle. Integizzle check out this velit sed fo.</div>
<div id="column_b">Vivamizzle sagittis.rttitizzle izzle, boom shackalack hizzle, orci. Integizzle hizzle funky fresh lectus. </div>
</div>
</div>
</div>
<div class="row">
<div id="container_b">
<div id="container_a">
<div id="column_a">Lorizzle hizzle dolizzle sit amet, brizzle adipiscing elizzle. Nullam i saw beyonces tizzles and my pizzle went crizzle shizzlin dizzle, fo shizzle mah nizzle fo rizzle, mah home g-dizzle sizzle, suscipit quizzle, i saw beyonces tizzles and my pizzle went crizzle vizzle, arcu. Break yo neck, yall shiznit tortor. Sed eros. Ma nizzle izzle you son of a bizzle dapibizzle turpishizzle. Integizzle check out this velit sed fo.</div>
<div id="column_b">Vivamizzle sagittis.rttitizzle izzle, boom shackalack hizzle, orci. Integizzle hizzle funky fresh lectus. </div>
</div>
</div>
</div>
<div class="row">
<div id="container_b">
<div id="container_a">
<div id="column_a">Lorizzle hizzle dolizzle sit amet, brizzle adipiscing elizzle. Nullam i saw beyonces tizzles and my pizzle went crizzle shizzlin dizzle, fo shizzle mah nizzle fo rizzle, mah home g-dizzle sizzle, suscipit quizzle, i saw beyonces tizzles and my pizzle went crizzle vizzle, arcu. Break yo neck, yall shiznit tortor. Sed eros. Ma nizzle izzle you son of a bizzle dapibizzle turpishizzle. Integizzle check out this velit sed fo.</div>
<div id="column_b">Vivamizzle sagittis.rttitizzle izzle, boom shackalack hizzle, orci. Integizzle hizzle funky fresh lectus. </div>
</div>
</div>
</div>
洛里兹·希兹尔·多利兹尔坐在阿梅特,布里兹·阿迪皮斯·伊莉兹。我看到碧昂丝提兹利,我的毛毛在迪兹利,嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘。折断你的脖子,亚尔·希兹尼特·托托。塞德·厄洛斯。妈,你这狗娘养的。Integizzle检查一下这个velit sed fo。
维瓦米兹·萨吉蒂,提提兹·伊兹勒,勃姆·夏卡拉克·伊兹勒,奥奇。整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块。
洛里兹·希兹尔·多利兹尔坐在阿梅特,布里兹·阿迪皮斯·伊莉兹。我看到碧昂丝提兹利,我的毛毛在迪兹利,嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘。折断你的脖子,亚尔·希兹尼特·托托。塞德·厄洛斯。妈,你这狗娘养的。Integizzle检查一下这个velit sed fo。
维瓦米兹·萨吉蒂,提提兹·伊兹勒,勃姆·夏卡拉克·伊兹勒,奥奇。整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块。
洛里兹·希兹尔·多利兹尔坐在阿梅特,布里兹·阿迪皮斯·伊莉兹。我看到碧昂丝提兹利,我的毛毛在迪兹利,嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘嘘。折断你的脖子,亚尔·希兹尼特·托托。塞德·厄洛斯。妈,你这狗娘养的。Integizzle检查一下这个velit sed fo。
维瓦米兹·萨吉蒂,提提兹·伊兹勒,勃姆·夏卡拉克·伊兹勒,奥奇。整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块,整块。
没有flexbox,这似乎是一个共识。flexbox还没有在几个主要的浏览器中登陆。我已经编写了一个jQuery插件来实现这一点。它将float
布局转换为display:table
布局,并为您处理行。无需脚本即可自动处理单元格宽度(速度快得多)。它也很灵敏。它叫破坏者!!哈哈哈
您可以在没有flexbox的情况下执行此操作,但需要使用nth-child()。看看这个答案:我想不出没有行包装器的方法,但是如果您知道外部div的确切宽度永远不会改变,那么就有可能实现。我的解决方法是依靠包装器大小将a和b放在同一行上,然后自动推送下一个a和b,使其包装到下一行。但是,如果包装的宽度缩小,则a和b将不起作用
<div id="wrapper">
<div class="a">A</div>
<div class="b">B</div>
<div class="a">A</div>
<div class="b">B</div>
</div>
<style>
#wrapper { width: 500px;}
.a { background-color:green; float:left; width:50%;}
.b {background-color:red;float:left;width:50%;}
</style>
<style>
#d1::after {
content: "";
display: table-row;
}
</style>
<div style="display: table">
<div id="d1" style="display: contents">aaaaaaaaaa</div>
<div style="display: table-cell">bbbbbbbbb</div>
</div>