Мне нужно сделать следующий код растяжимым с предопределенной высотой
<style>
.title{
background: url(bg.gif) no-repeat bottom right;
height: 25px;
}
</style>
<span class="title">This is title</span>
Но поскольку диапазон является встроенным элементом, свойство «высота» работать не будет.
Вместо этого я попытался использовать div , но он расширится до ширины верхнего элемента. И ширина должна быть гибкой.
Может ли кто-нибудь предложить хорошее решение для этого?
Заранее спасибо.
Ответы:
Добавьте
display:inline-block
CSS - он должен делать то, что вы хотите.С точки зрения совместимости: IE6 / 7 будет работать с этим, поскольку режим quirks предполагает:
источник
inline-block
.Note: No versions of Internet Explorer (including IE8) support the property values "inline-table", "run-in", "table", "table-caption", "table-cell", "table-column", "table-column-group", "table-row", or "table-row-group".
IE 6/7 accepts the value only on elements with a natural display: inline.
span
then. Спасибо за информацию, henasraf.Использовать
.title{ display: inline-block; height: 25px; }
Единственная уловка - поддержка браузера. Проверьте, обрабатывает ли ваш список поддерживаемых браузеров встроенный блок .
источник
это сделано для того, чтобы display: inline-block работал во всех браузерах:
Как ни странно, в IE (6/7), если вы запускаете hasLayout с «zoom: 1», а затем устанавливаете отображение на встроенный, он ведет себя как встроенный блок.
.inline-block { display: inline-block; zoom: 1; *display: inline; }
источник
Предполагая, что вы не хотите делать его блочным элементом, вы можете попробовать:
.title { display: inline-block; /* which allows you to set the height/width; but this isn't cross-browser, particularly as regards IE < 7 */ line-height: 2em; /* or */ padding-top: 1em; padding-bottom: 1em; }
Но самое простое решение, чтобы просто лечить
.title
как элемент уровня блока, и используя соответствующие теги заголовков<h1>
через<h6>
.источник
размах
{ display: table-cell; height: (your-height + px); vertical-align: middle; }
Чтобы промежутки работали как ячейка таблицы (или любой другой элемент, если на то пошло), необходимо указать высоту. Я дал пролетам высоту, и они работают нормально, но вы должны добавить высоту, чтобы заставить их делать то, что вы хотите.
источник
Другой вариант, конечно же, - использовать Javascript (здесь Jquery):
$('.box1,.box2').each(function(){ $(this).height($(this).parent().height()); })
источник
Зачем в таком случае нужен пролет? Если вы хотите стилизовать высоту, можете ли вы просто использовать div? Вы можете попробовать использовать div с
display: inline
, хотя это может иметь ту же проблему, поскольку вы фактически будете делать то же самое, что и span.источник