Привет, у меня есть две коробки одинакового размера, но по какой-то причине они не останутся на одной и той же "линии", в одном окне содержится изображение, другое - текст. Замена изображения с текстом заставляет их выравниваться так, как я хочу, чтобы они были. Однако, не имея никакого текста в коробке, они не выравниваются.
<div class="boxbox">
<sam-box class="box clickable no-padding" base="170" width="1" height="1">
<a href="http://placekitten.com/160/160"><img src="http://placekitten.com/160/160"></a>
</sam-box>
<sam-box class="box clickable no-padding" base="170" width="1" height="1">
This is a box
</sam-box>
Я использую ящик sam для пользовательских измерений, могу вас заверить, что размер обоих элементов одинаковый (174px, если быть точным).
Вам просто нужно использовать vertical-align:top;
на встроенных блочных элементах. О, и "пользовательские" элементы, вероятно, не будут проверяться, и у вас могут возникнуть проблемы с x-браузером.
CSS
.box {
padding: 10px;
background-color: transparent;
border-radius: 10px;
margin: 5px;
display: inline-block;
vertical-align:top;
font-weight: 400;
border: 2px solid transparent;
}
Используйте float left и установите ширину и высоту div. Попробуйте, как показано ниже, и измените ваши потребности.
.box {
width:170px;
height:170px;
float:left;
border-radius: 10px;
margin: 5px;
font-weight: 400;
border: 2px solid transparent;
}
поскольку вы уже display: inline-block;
свойства Css display: inline-block;
то нет необходимости определять свойство float: left.
вам нужно добавить свойство ниже в свой класс ящиков
.box {
padding: 10px;
background-color: transparent;
border-radius: 10px;
margin: 5px;
display: inline-block;
vertical-align:top; /*only add this will work even if the image size is smaller*/
font-weight: 400;
border: 2px solid transparent;
}
Добавить float: осталось для ваших боксов
.box {
float:left;
}
Вы можете обнаружить, что добавление overflow:hidden;
ваш класс .box
исправляет вашу проблему - http://jsfiddle.net/U3b8r/4/
sam-box
?