我从这里开始关注圣杯 3 列液体布局,我正在尝试使用新的 css 技术绕过角落,但我无法让左上角正常运行。拐角在外面是圆的,但是里面还有一个不是圆的div,它把圆角戳出来了。我相信这可能是因为所有的边距切换等等,但我在完成这个布局方面并没有取得太大的成功。
我应该提一下,只有在这一点上,角落才能在 Firefox 中正常工作,而且我显然需要它们在所有现代浏览器中工作(IE 可能是一个例外——我更需要 chrome、opera 和 safari 支持)。
我为测试目的创建了一个更简单的布局版本,我希望有人至少能够指出我正确的方向来解决这个问题。我添加了一些 lorem ipsum 并对列和 div 进行了颜色编码,希望能够更容易地查看需要更改哪些样式。这是确切的代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Page Title Here</title>
<style type="text/css">
.wrapper
{
color: #333;
line-height: 130%;
margin: 10px 12px 0px 10px;
-webkit-border-radius: 11px 11px 0 0;
-moz-border-radius: 11px 11px 0 0;
border-radius: 11px 11px 0 0;
}
.columnmask
{
position: relative;
clear: both;
float: left;
width: 100%;
overflow: hidden;
border-left: 1px solid gray;
border-right: 1px solid gray;
border-top: 1px solid gray;
}
.threecol
{
background: white;
-webkit-box-shadow: #000 2px 2px 3px;
-moz-box-shadow: #000 2px 2px 3px;
box-shadow: #000 2px 2px 3px;
background: red;
}
.threecol .middlecolumn
{
float: left;
width: 200%;
margin-left: -170px;
position: relative;
right: 100%;
background: blue;
}
.threecol .leftcolumn
{
float: left;
width: 100%;
margin-left: -50%;
position: relative;
left: 340px;
background: yellow;
}
.threecol .midcolwrap
{
float: left;
width: 50%;
position: relative;
right: 170px;
padding-bottom: 1em;
}
.threecol .midcol
{
margin: 0 180px;
position: relative;
left: 200%;
overflow: hidden;
padding-top: 5px;
background: green;
}
.threecol .leftcol
{
float: left;
float: right;
width: 160px;
position: relative;
right: 5px;
text-align: center;
background: silver;
}
.threecol .rightcol
{
float: left;
float: right;
width: 160px;
margin-right: 15px;
position: relative;
left: 50%;
text-align: center;
background: purple;
}
.footer
{
-webkit-border-radius: 0 0 11px 11px;
-moz-border-radius: 0 0 11px 11px;
border-radius: 0 0 11px 11px;
background: orange;
}
#footer
{
position: relative;
clear: both;
margin: 0px 10px 10px 10px;
padding: .5em;
text-align: center;
border: 1px solid gray;
-webkit-box-shadow: #000 2px 2px 3px;
-moz-box-shadow: #000 2px 2px 3px;
box-shadow: #000 2px 2px 3px;
}
.roundTop
{
-webkit-border-radius: 11px 11px 0 0;
-moz-border-radius: 11px 11px 0 0;
border-radius: 11px 11px 0 0;
}
</style>
</head>
<body>
<div class="wrapper">
<div id="colmask" class="columnmask threecol roundTop">
<div class="middlecolumn">
<div class="leftcolumn">
<div class="midcolwrap">
<div class="midcol">
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</div>
</div>
<div class="leftcol">
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</div>
<div class="rightcol">
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</div>
</div>
</div>
</div>
</div>
<div id="footer" class="footer">
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</div>
</body>
</html>