У меня есть странная вещь, я не понимаю причину. Я создал вопрос fiddle to demonstrate.css элемент границы влияние на другие элементы странным образом
то, что я не понимаю, является то, что установка границы на одну из трех холстов делает мои два других .headerMainDiv спускающимися с их исходного положения (попробуйте сыграть с размером границы/удалить границу и увидеть эффект) ,
здесь соответствующая часть моей HTML:
<header>
<div class="headerMainDiv">
<div class="inner">
<canvas id="canvas1">
</canvas>
</div>
</div>
<div class="headerMainDiv">
<div class="inner">
<canvas id="canvas2">
</canvas>
</div>
</div>
<div class="headerMainDiv">
<div class="inner">
<canvas id="canvas3">
</canvas>
</div>
</div>
</header>
и вот соответствующий CSS:
#canvas2{
border:10px solid black;
}
.inner {
margin-top: 2px;
}
.headerMainDiv {
height: 100%;
width: 30%;
background-color:red;
}
body{
margin: 0;
}
header{
height: 20%;
width: 100%;
top:0px;
text-align: center;
position: fixed;
z-index: 5;
background-color: blue;
}
header div {
display: inline-block;
}
canvas {
background-color: grey;
width:100%;
height:100%;
}
Я не ищу решение моей проблемы, но для объяснения того «проблема/поведение».
Большое спасибо. Jimmyboy.
это не решило (или я что-то пропустил?), Я добавил * {box-sizing: border-box} в мой css, и это поведение остается. – JimmyBoy
@JimmyBoy вижу мою скрипку (в ответе выше) –
@JimmyBoy Если вы хотите, чтобы вы равны по высоте для всех трех элементов, вам либо нужно (1) объявить прозрачную верхнюю границу, либо (2) объявить верхний край холста или (3) объявить верхнее дополнение для элемента '.headerMainDiv'. – Terry