早上好,
我正在使用纯 CSS 开发一个四列页脚,但我遇到了一些问题:1)我无法在每列旁边设置垂直 1px 白色规则 2)背景不覆盖整个四列 3)在 Chrome 中,列没有出现在一个单一的宽度上,第四个被撞到下面。
这是我的代码:http: //jsfiddle.net/eLzPk/
早上好,
我正在使用纯 CSS 开发一个四列页脚,但我遇到了一些问题:1)我无法在每列旁边设置垂直 1px 白色规则 2)背景不覆盖整个四列 3)在 Chrome 中,列没有出现在一个单一的宽度上,第四个被撞到下面。
这是我的代码:http: //jsfiddle.net/eLzPk/
如果您知道页脚的确切宽度,则可以使用纯 css 执行此操作。我刚刚在前 3 列中添加了右边框。仅供参考,您忘记在 CSS 中声明边框的颜色。我还将列的宽度更改为 235px,即 940 / 4。前 3 个有 1px 边框,所以它的宽度是:234px 加上边框。这是小提琴http://jsfiddle.net/eLzPk/7/
#footer dl {
background: black;
float: left;
margin: 0;
padding: 10px 0 5px 0;
width: 234px;
border-right: 1px solid #fff;
}
#footer dl + dl + dl + dl {
width: 235px;
border-right: none;
}
编辑
进一步解释css的一个问题是在声明的宽度上添加了边框和边距,所以如果你有四列宽度为:25%,边框为1px来创建分割线,实际上是100% + 3px,当然大于 100%,所以它会导致 css 换行。
在 css 中有 2 个新的解决方案,其中一个是相当受支持的,它称为 box-sizing,这是一篇很好的参考文章。 http://css-tricks.com/box-sizing/ 基本上它将框调整为声明的宽度,并在其中添加边框和边距。缺点是它不受 IE7 和后面的支持。因此,要正确使用它,最好使用 IE 条件语句并为这些浏览器实现一些 css/js hack。
另一个解决方案是 flexbox 模型,它还没有多少支持。但值得一看。它允许您拥有任何大小的容器,并使用比率调整其中的子项大小,轻松地将它们垂直或水平放置等。它解决了盒子模型问题以及各种定位和居中问题。
这样的事情怎么样?在其中添加另一个具有固定大小的 Div 容器,以适应浏览器的大小。然后可以使用#footer 中的注释代码拉伸背景。创建 div 大小时,您必须注意边距、填充和边框。
每个像素都很重要;)
希望这有帮助的任何人!底部的 jsFiddle 链接
#footer {
background: black
/* This would be your Background Image code for whole Footer.
background: url(FOOTER IMAGE) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
*/
padding-right: 15px;
position: relative;
min-height: 250px;
text-align: center;
width:100%;
margin-left:auto;
margin-right:auto;
} /*IE6*/
#footerContainer {
width:940px;
height:250px;
display:block;
}
#footer dl {
display:inline-block;
background: black;
float: left;
text-align: left;
margin: 0px;
padding: 10px 0 5px 10px;
width: 224px; /* Take into account the 1px Border & padding*/
height:inherit;
border-left: 1px solid white;
}
像这样的东西:http: //jsfiddle.net/GFargo/eLzPk/1/
正如 ACJ 所说:
边框宽度(1 像素)加到宽度上,所以四倍 25% 加上 4 像素总是大于 100%
你最好定义一些设定值来解决这个问题。
您的速记边框属性不起作用,因为尽管您定义了宽度(1px),它的类型(实心),但您缺少(颜色)。
如果您也在使用 HTML5,您也可以使用该标签...
粗略地,经过一些调整:http: //jsfiddle.net/eLzPk/8/