对于图形效果,我正在尝试创建一个具有特定宽度(800 或 1000 像素)的 div,由 2 个相同大小的流体 div 包围。
左侧 div 为绿色,中间 div 为白色,包含以相同绿色开头的左对齐徽标图像,右侧 div 为白色。中间的 div 应该始终居中。
有没有使用 CSS 的好方法?否则,还有哪些其他外观简洁且浏览器友好的方法?
编辑(x2)我当前的测试文件:
这可行,但右 div 与中心 div 重叠,我更喜欢左右 div 正好是剩余宽度,而不是低于中心 div(以防我以后想做类似的事情)
<html>
<head>
<style>
.header {
width: 100%;
height: 60px;
background-color: grey;
}
.headercontents {
width: 800px;
height: 60px;
display: inline-block;
background-color: red;
float: left;
z-index: 99;
}
.left {
display: inline-block;
background-color: green;
height: 60px;
width: 49%;
margin-right: -400px;
float: left;
z-index: 1;
}
.right {
display: inline-block;
height: 60px;
background-color: blue;
width: 49%;
margin-left: -800px;
float: right;
z-index: 1;
}
</style>
<div class="header">
<div class="left"></div>
<div class="headercontents"></div>
<div class="right"></div>
</div>
与 JavaScript 完美结合的代码:
<html>
<head>
<style>
BODY {
padding: 0;
margin: 0;
}
.header {
width: 100%;
height: 60px;
background-color: grey;
}
.headercontents {
width: 800px;
height: 60px;
display: inline-block;
background-color: red;
z-index: 99;
}
.left {
height: 60px;
display: inline-block;
background-color: green;
z-index: 1;
}
.right {
height: 60px;
display: inline-block;
background-color: blue;
z-index: 1;
}
</style>
</head>
<body>
<div class="header">
<div class="left edge"></div><!--
--><div class="headercontents"></div><!--
--><div class="right edge"></div>
</div>
<script>
var leftEle = document.body.querySelector(".left");
var rightEle = document.body.querySelector(".right");
window.onresize = function() {
var width = window.innerWidth || document.documentElement.clientWidth;
if (width > 800) {
var lrWidth = width / 2 - 400;
leftEle.style.display = 'inline-block';
rightEle.style.display = 'inline-block';
leftEle.style.width = lrWidth;
rightEle.style.width = lrWidth;
} else {
leftEle.style.display = 'none';
rightEle.style.display = 'none';
// It would be nice to scroll the page horizontally to the center here
}
}
window.onload = window.onresize;
</script>
</body>
</html>