我刚刚开始学习CSS,我想在边缘上创建两个div,并在类中将其称为Wide,我想将其居中,因此我将其位置设为绝对,左:50%,但它不起作用>
.container{
background-color:#6699;
width: 900px;
height:600px;
margin:20px auto;
position: relative
}
.tall{
background-color:#993399;
width: 200px;
height:100%;
float: right
}
.wide{
background-color:#6600cc;
width:200px;
height:200px;
position: absolute;
left:50%
}
.tall2{
background-color:#006699;
width:200px;
height:100%;
}
<!DOCTYPE html>
<head>
<link rel="stylesheet" href="float.css">
</head>
<body>
<div class="container">
<div class="tall"></div>
<div class="wide"></div>
<div class="tall2"></div>
</div>
</body>
答案 0 :(得分:2)
尚不清楚您要做什么,但是很有可能41640.5
或flex
布局会更好地为您服务。对于这样的布局,浮动通常不再是最佳实践。
您可以尝试这样的事情:
grid
答案 1 :(得分:0)
如果您要水平对齐“宽” div,则可以向div中添加一个变换,如下所示:
.wide{
background-color:#6600cc;
width:200px;
height:200px;
position: absolute;
left:50%;
/* Over Here */
transform: translateX(-50%);
}
答案 2 :(得分:0)
可以使用display: table;
,display: table-row
和display: table-cell
样式完成。
.container {
background-color: #6699;
width: 100%;
}
.tall {
background-color: #993399;
}
.wide {
background-color: #6600cc;
width: auto;
}
.tall2 {
background-color: #006699;
}
.table {
display: table;
}
.row {
display: table-row;
}
.cell {
display: table-cell;
}
.tall,
.tall2 {
width: 200px;
}
* {
height: 100%;
}
<!DOCTYPE html>
<head>
</head>
<body>
<div class="table container">
<div class="row">
<div class="cell tall"></div>
<div class="cell wide"></div>
<div class="cell tall2"></div>
</div>
</div>
</body>