在我的JS应用程序中,我有一个面板分为3个部分,每个部分都有width: 100%
和height:33.33%
,然后在每个部分我想要一些div。
$(".panel2").hide();
$(".panel1").click(function() {
$(this).hide();
$(".panel2").show();
});
$(".panel2").click(function() {
$(".panel1").show();
$(this).hide();
});
div.box {
width: 400px;
height: 400px;
border: 1px solid #000;
overflow: hidden;
position: relative;
}
div.box > .blur {
width: 100%;
height: 100%;
background: url(http://goo.gl/0VTd9W);
-webkit-filter: blur(8px);
}
div.box > .panel1,
div.box > .panel2 {
width: 100%;
Height: 100%;
Background: rgba(0, 0, 0, 0.5);
position: absolute;
left: 0px;
top: 0px;
}
div.box > .panel2 {
background: rgba(255, 0, 0, 0.2);
}
/** sub sections **/
div.panel1 > .top,
div.panel1 > .middle,
div.panel1 > .bottom {
width: 100%;
height: 33.33%;
border: 1px dashed #000;
}
div.middle > div,
div.bottom > div {
width: 30px;
height: 30px;
border: 1px dashed #000;
float: left;
margin: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="box">
<div class="blur"></div>
<div class="panel1">
<div class="top"></div>
<div class="middle">
<div></div>
<div></div>
<div></div>
</div>
<div class="bottom">
<div></div>
<div></div>
<div></div>
</div>
</div>
<div class="panel2">Panel 2</div>
</div>
正如您所看到的,我已经实现了div,但由于父div是基于百分比的,因此无法在所描述的位置对齐它们。
有想法调整它们吗?
答案 0 :(得分:0)
有很多方法可以实现您的愿望,例如transform: translate(-50%);
,position:absolute
和否定margin
,display:inline-block;
,display: flex;
等这里使用display:inline-block;
。您可以添加一个div(.centered-vertically
),提供height:100%;
,不要忘记display:inline-block;
发生的remove extra spaces,最后使用vertical-align
属性将它们与bottom
,middle
和top
对齐。但是,这里已经完成了代码。
$(".panel2").hide();
$(".panel1").click(function() {
$(this).hide();
$(".panel2").show();
});
$(".panel2").click(function() {
$(".panel1").show();
$(this).hide();
});
div.box {
width: 400px;
height: 400px;
border: 1px solid #000;
overflow: hidden;
position: relative;
}
div.box > .blur {
width: 100%;
height: 100%;
background: url(http://goo.gl/0VTd9W);
-webkit-filter: blur(8px);
}
div.box > .panel1,
div.box > .panel2 {
width: 100%;
Height: 100%;
Background: rgba(0, 0, 0, 0.5);
position: absolute;
left: 0px;
top: 0px;
}
div.box > .panel2 {
background: rgba(255, 0, 0, 0.2);
}
/** sub sections **/
div.panel1 > .top,
div.panel1 > .middle,
div.panel1 > .bottom {
width: 100%;
height: 33.33%;
border: 1px dashed #000;
}
div.middle > div:not(.centered-vertically),
div.bottom > div:not(.centered-vertically) {
width: 30px;
height: 30px;
border: 1px dashed #000;
display:inline-block;
vertical-align:middle;
margin: 10px;
}
div.bottom > div:not(.centered-vertically)
{
vertical-align:bottom;
}
div.middle > .centered-vertically,
div.bottom > .centered-vertically
{
display:inline-block;
vertical-align:middle;
height:100%;
}
div.middle
{
text-align:center;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="box">
<div class="blur"></div>
<div class="panel1">
<div class="top"></div>
<div class="middle">
<div class="centered-vertically"></div><div></div><div></div><div></div>
</div>
<div class="bottom">
<div class="centered-vertically"></div><div></div><div></div><div></div>
</div>
</div>
<div class="panel2">Panel 2</div>
</div>
答案 1 :(得分:0)