Я пытаюсь сделать причудливый заголовок. Вот JSFiddle, чтобы вы могли видеть, как это выглядит, прежде чем я объясню свою проблему.inline divs fill width
Этот заголовок отлично подходит для средних/больших экранов, но проблема возникает при меньшей ширине экрана, где текст не соответствует этой ширине и перекрывается правым div.
Вот html/css (то же, что и JSFIddle). Ниже я объясню, что я хочу достичь
HTML:
<div class="header">
<div class="left"></div>
<div class="text">
<span>TITLE</span>
</div>
<div class="right"></div>
</div>
CSS:
div.header{
height:30px;
font-size:30px;
width:100%;
margin-top:100px;
display: block;
margin-bottom:30px;
}
div.header .left{
background-color: #D82B38;
width:10%;
height:30px;
display: inline-block;
float:left;
border-radius:0 15px 0 0;
}
div.header .text{
width:20%;
display: inline-block;
height:30px;
float:left;
}
div.header .right{
background-color: #D82B38;
width:70%;
height:30px;
display: inline-block;
float:right;
border-radius: 0 0 0 15px;
}
div.header .text span{
font-size:30px;
color: #D82B38;
position: relative;
top:-5px;
text-align:center;
display: block;
font-weight:500;
letter-spacing:1px;
}
Я хотел бы дать некоторые левые и правые Прокладки для div.text
, и сделать это ширина зависит от размер текста, а затем div.left
и div.right
занимает их ширину в зависимости от оставшейся ширины экрана (всегда левая, намного меньшая, чем правая), вместо того, чтобы всегда иметь одинаковый процент. Я знаю, что могу играть с медиа-запросами, чтобы изменить этот процент на меньших экранах, но я знаю, что медиа-запросы не работают хорошо в Internet Explorer, и я предпочитаю их избегать.
Я пробовал несколько вещей, используя CSS, чтобы получить это, но я не могу заставить его работать. Скажите, пожалуйста, мой вопрос не совсем ясен, и я попытаюсь прояснить, что я имею в виду.
Заранее благодарен!
Eidt: Я не хочу использовать JavaScript для этого, я знаю, что должен быть какой-то способ, чтобы достичь его, используя чисто CSS
Не следует смешивать 'инлайн-block' с' float', так как поплавок ломает встроенный блок (он переходит в 'block') или встроенные элементы. –