Xwab
Форумыnavigate_nextHTML/CSS

Позиционирование элементов
Сообщения
Sandr

Ребят, поможете с CSS?
Проблема вот чём.. в прикреплённом файле показан "макет" того, как всё это должно выглядеть. Что-то в роде небольшой формы. Если текст слишком длинный, то он должен переноситься на следующую строку, как это показано на картинке. Но есть одна проблема с позиционированием квадрата (square), он должен всегда находиться на одной и той же позиции относительно класса title. Текст может быть разной длинны и из-за этого класс square всё время сдвигается из стороны в сторону. Как можно его зафиксировать?

Вот код.


<div class="window">   
<div class="title">
   текст
   <span class="square">[ ]</span>
   </div>
</div>



.window {
   background-color: silver;
   box-shadow: 0.5em 0.5em 1em #000;
   max-width: 300px;
   min-width: 300px;
   width: 300px;
}

.title {
   border: 1px solid #555;
   text-align: center;
   font-size: 18px;
   background-color: #777;
   color: #ccc;
}

.square {
   display: inline-block;
   width: 12px;
   height: 19px;
   top: 1%;
   left: 30%;
   border: 1px solid #667;
   border-radius: 0px 0px 6px 6px;
   border-top: none;
   padding-right: 2px;
   padding-left: 2px;
   padding-bottom: 2px;
   background-color: #888;
   color: #eee;
}

04 Фев 2012, 1:51
Sceptic

.window {
   background-color: silver;
   box-shadow: .5em .5em 1em #000;
   max-width: 300px;
   min-width: 300px;
   width: 300px;
   position: relative;
}

.title {
   border: 1px solid #555;
   text-align: center;
   font-size: 18px;
   background: #777;
   color: #ccc;
   position: relative;
}

.square {
   display: inline-block;
   width: 12px;
   height: 19px;
   border: 1px solid #667;
   border-top: none;
   border-radius: 0 0 6px 6px;
   padding: 2px;
   background: #888;
   color: #eee;
   position: absolute;
   top: 3px;
   right: 3px;
}
Позволил себе подправить немного того гк)

04 Фев 2012, 2:25
Sandr

Sceptic, спасибо!)) Только вот там небольшое неудобство есть.. когда текст достаточно длинный, то квадрат его перекрывает. Как можно это устранить? Чтобы текст был на расстоянии X пикселей от квадрата? Может это паддингом делать нужно?

04 Фев 2012, 2:41
Sceptic

Sandr, пэддингом гадать будешь долго, попробуй для начала так:

.square {
   float: right;
   overflow: hidden;
   display: inline-block;
   width: 12px;
   height: 19px;
   border: 1px solid #667;
   border-top: none;
   border-radius: 0 0 6px 6px;
   padding: 2px;
   background: #888;
   color: #eee;
   position: absolute;
   top: 3px;
   right: 3px;
}

04 Фев 2012, 2:48
Sandr

Sceptic, не, не помогло.

04 Фев 2012, 5:43
Sceptic

Добавь в css файл:

.square:after {
   content: ".";
   display: block;
   height: 0;
   clear: both;
   visibility: hidden;
}

04 Фев 2012, 6:08
Sandr

Sceptic, тож не помогло..

05 Фев 2012, 0:00
Sceptic

Sandr, да ладно?
Прикрепи архив с потрохами (стиль, шаблоны, картинки, если есть), так проблема быстрее решится).
P.S.: можно в личку

05 Фев 2012, 0:05
m-r.Nemo

Sandr, текст как я понимаю должен обтекать квадрат слева? вставь в титле два дива, к второму диву примени флоат ригхт и в него засунь квадрат

05 Фев 2012, 1:48
Ответить на тему