我有3个div,我无法更改html dom:
<div id="a"/>
<div id="b"/>
<div id="c"/>
我需要创建显示这些div的css文件,如下表所示:
<table>
<tr>
<td id="a"></td>
<td rowspan="2" id="c"></td>
</tr>
<tr>
<td id="b"></td>
</tr>
</table>
有什么办法吗?
答案 0 :(得分:1)
让前两个div
display:inline-block
将它们保持在同一行。将底部div
设置为前两个加上填充的宽度。
抱歉有点模糊。 这里的例子: http://jsfiddle.net/3ZWGx/4/
- 修正 -
答案 1 :(得分:0)
使用css显示: http://www.quirksmode.org/css/display.html#table http://www.w3schools.com/cssref/pr_class_display.asp
适用于IE8 +。
你有例如display:table,table-cell或table-column。
不幸的是,不支持rowspan,但你可以在其中嵌入另一个div并模拟它。
答案 2 :(得分:0)
假设所有三个div都被一个容器包围,并且这些div可以以固定的宽度呈现,this jsFiddle显示了使用绝对定位的方法。这是代码内联:
标记(请注意,某些浏览器无法正确呈现快捷方式div):
<div id="container">
<div id="a"></div>
<div id="b"></div>
<div id="c"></div>
</div>
CSS:
#container
{
width: 400px;
height: 200px;
position: relative;
}
#a
{
position: absolute;
top: 0;
left: 0;
width: 200px;
height: 100px;
background-color: red;
}
#b
{
position: absolute;
top: 100px;
left: 0;
width: 200px;
height: 100px;
background-color: green;
}
#c
{
position: absolute;
top: 0;
left: 200px;
width: 200px;
height: 200px;
background-color: blue;
}
答案 3 :(得分:0)
虽然左侧的细胞周围有一点额外的间距,但这与您正在寻找的内容类似: demo at jsfiddle
<head>
<style type="text/css">
#divtable {
display: table;
border-collapse: separate;
border: 1px outset black;
border-spacing: 2px;
}
#d, #e, #f {
display: table-cell;
border: 1px inset black;
padding: 2px;
vertical-align: middle;
}
.row1, .row2 {
display: table-row;
}
.cell_f {
display: table-cell;
height: 100%;
}
</style>
</head>
<body>
<div id="divtable">
<div class="cell_de">
<div class="row1">
<div id="d">D</div>
</div>
<div class="row2">
<div id="e">E</div>
</div>
</div>
<div id="f">F</div>
</div>
答案 4 :(得分:0)
除了上面的代码之外还需要什么来运行这些?我将其复制到一个html文档中,我得到的就是3行。