В настоящее время я работаю над заголовком в Joomla с фоном, состоящим из 5 частей изображений. Должно выглядеть так (просто пример ASCII)
{=<Text>=--------}
который разбивается на
- Слева (
{=<
)
- Заголовок (Фон для текста)
- Заголовок справа (
>=-
)
- Средний (
-
)
- Справа (
-}
)
Надеюсь, вы, ребята, можете это визуализировать. Теперь необходимо повторить заголовок и середину x, но я хочу, чтобы заголовок соответствовал размеру текста, предположительно фону для текстового элемента div. Я не могу получить правильную комбинацию div и css, чтобы сделать это правильно. Прямо сейчас я заключаю div в div для каждой части до текста. После текста они просто переходят на следующую строку. display: inline
тоже мало чем может помочь. Думаю, я не очень хорош в CSS.
Заранее спасибо.
ПРИМЕЧАНИЕ. Я не могу прикрепить экран печати, так как изображения защищены авторским правом.
РЕДАКТИРОВАТЬ: Средняя часть должна расширяться так, чтобы правая часть достигла конца, в основном занимая всю ширину.
|<-----------------------------Full Width of DIV------------------------------->|
{=<Short Text>=------------------------------------------------------------------}
{=<Much Longer Text>=------------------------------------------------------------}
{=<Much Much Much Longer Text>=--------------------------------------------------}
Благодаря Bazzz я нашел способ сделать это.
Поскольку значение Middle, установленное на width: 100%
, достигнет правого конца, так что единственный способ немного отступить - использовать более короткую обертку. Затем поместите правую часть после обертки.
HTML
<div id="Header">
<div id="Wrapper">
<span id="Left"> </span>
<h1 id="Title">Title text</h1>
<span id="Title-Right"> </span>
<span id="Mid"> </span>
</div>
<span id="Right"> </span>
</div>
CSS
#Header span, #Header h1 {
display: inline-block;
white-space:nowrap;
overflow: hidden;
width: 570px;
}
#Wrapper span, #Header h1 {
display: inline-block;
white-space:nowrap;//Don't wrap into 2nd line
overflow: hidden;//This help with the 100% width setting
width: 550px;//Header width - "Right" width
}
#Left {
width: 20px;
background: blue;
}
#Title {
background: yellow;
}
#Title-Right {
width: 20px;
background: grey;
#Mid {
width: 100%; //Maximize this
background: green;
}
#Right {
width: 20px;
background: red;
}