Css 潜水舱未达到全高度
我有一个带有div结构的9盒,如下所示:Css 潜水舱未达到全高度,css,Css,我有一个带有div结构的9盒,如下所示: <div class="NBWrapper"> <div class="NBTopRow"> <div class="NBLeft" /> <div class="NBRight" /> <div class="NBMiddle" /> </div> <div class="NBMiddleRow">
<div class="NBWrapper">
<div class="NBTopRow">
<div class="NBLeft" />
<div class="NBRight" />
<div class="NBMiddle" />
</div>
<div class="NBMiddleRow">
<div class="NBLeft"> </div>
<div class="NBRight"> </div>
<div class="NBMiddle">SharePoint WebPart goes here</div>
</div>
<div class="NBBottomRow">
<div class="NBLeft" />
<div class="NBRight" />
<div class="NBMiddle" />
</div>
</div>
所有内容都位于正确的位置并具有正确的属性。但是,中间行的NBLeft和NBRight元素没有占据任何高度。使用高度:100%没有任何效果
我已经添加了,但仍然没有添加任何内容
我通常对这类东西很在行,但我被难倒了。有人有什么建议吗?您的NBleft&NBright是自动关闭的,就像您使用的HTML版本正确支持自动关闭div一样?你可以试着用它来代替吗 我可以看到
<div class="NBMiddle">SharePoint WebPart goes here<div>
应该是
<div class="NBMiddle">SharePoint WebPart goes here</div>
另一个要尝试的是溢出:div的CSS类中的auto会给您带来麻烦。只要div有内容,CSS就会确保它被显示 我不是100%确定你想做什么,但是下面的内容有用吗?我给所有东西添加了边框,这样你就可以看到发生了什么 HTML
<html>
<head>
<link rel="stylesheet" media="screen" href="bla.css" >
</head>
<body>
<div class="NBWrapper">
<div class="NBrow">
<div class="NBcell">Top Left</div>
<div class="NBcell">Top Middle</div>
<div class="NBcell">Top Right</div>
</div>
<div class="NBrow">
<div class="NBcellFullHeight">Middle Left</div>
<div class="NBcellFullHeight">Middle Middle</div>
<div class="NBcellFullHeight">Middle Right</div>
</div>
<div class="NBrow">
<div class="NBcell">Bottom Left</div>
<div class="NBcell">Bottom Middle</div>
<div class="NBcell">Bottom Right</div>
</div>
</div>
</body>
</html>
我最终做的是重组部门:
<div class="NBWrapper">
<div class="NBTopRow">
<div class="NBLeft" />
<div class="NBMiddle" />
<div class="NBRight" />
</div>
<div class="NBMiddleRow">
<div class="NBLeft"> </div>
<div class="NBMiddle">SharePoint WebPart goes here</div>
<div class="NBRight"> </div>
</div>
<div class="NBBottomRow">
<div class="NBLeft" />
<div class="NBMiddle" />
<div class="NBRight" />
</div>
</div>
你可能会问,为什么不用桌子呢?SharePoint 2010可能会使用较少的表,但它的表仍然会一直向下。我更喜欢使用div结构。该高度将取决于父元素。因此,如果要将NBLeft和NBRight的高度设置为100%,必须首先设置NBTopRow、NBMIDLEROW和NBBottomRow。然后反过来,如果你想让它们达到100%的高度,你必须设置它们的高度。此外,您不能自行关闭div元素。div是由sharepoint生成的,对于顶行和底行,它们都可以。它只适用于左边和右边的中间行,会改变像斯瓦尔巴德岛建议这样的自闭式div,这是我提出问题时的一个错误。div结构实际上没有这个功能。使用sharepoint实现这一功能的唯一方法是将文本控件添加到生成此div结构的面板中。我已经这样做了,但没有结果。这是在SharePoint 2010 Web部件的代码中生成的用户控件。它必须允许动态放置在任何宽度的Web部件区域中,并且能够根据内容进行垂直扩展。除了角18x18、上/下边框高度:18px和左/右边框宽度:18px之外,我无法为任何对象指定明确的高度或宽度。顶部边界和底部边界都正确渲染,但左边界和右边界不能说相同。它们的宽度正确,但高度为0。
.NBWrapper {
width: 800px;
margin: auto;
}
.NBcell {
width: 266px;
float: left;
border: 1px solid #000000;
}
.NBrow {
float: left;
width: 804px;
border: 1px solid #000000;
}
.NBcellFullHeight {
width: 266px;
float: left;
height: 500px;
border: 1px solid #000000;
}
<div class="NBWrapper">
<div class="NBTopRow">
<div class="NBLeft" />
<div class="NBMiddle" />
<div class="NBRight" />
</div>
<div class="NBMiddleRow">
<div class="NBLeft"> </div>
<div class="NBMiddle">SharePoint WebPart goes here</div>
<div class="NBRight"> </div>
</div>
<div class="NBBottomRow">
<div class="NBLeft" />
<div class="NBMiddle" />
<div class="NBRight" />
</div>
</div>
.NBWrapper {
display: table;
border-collapse: collapse;
border-spacing: 0;
width: 100%;
}
.NBTopRow, .NBMiddleRow, .NBBottomRow {
display: table-row;
}
.NBLeft, .NBRight, .NBMiddle {
display: table-cell;
}