Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   HTML/DHTML/CSS/JS/VB (http://www.flasher.ru/forum/forumdisplay.php?f=66)
-   -   Ширина бокса по ширине содержимого (http://www.flasher.ru/forum/showthread.php?t=121170)

colobokXXL 09.02.2009 17:12

Ширина бокса по ширине содержимого
 
Всем привет :-) вопрос очень простой, как мне кзалось... но ничего поделать не могу. Проблема такая: есть класс, который задаёт цвет фона, рамку и выравнивание по центру для текста (класс применяется для тега <p>). При этом текст всегда разный. Необходимо, чтобы бокс не растягивался на всю ширину родительского бокса (что, собственно, и происходит на автомате), а менял свою ширину в зависимости от размера текста.
Пробовал в том же классе прописать margin: auto; в разных вариациях - результат тот же.
Наверняка вопрос уже решённый, если кто знает, подскажите.
Спасибо всем за помощь :-)

Добавлено через 16 часов 52 минуты
в сети наткнулся на это http://www.artlebedev.ru/tools/techn.../align-center/
очень интересно, но хочеться попростче :)

KidsKilla 10.02.2009 18:58

а что тут сложного то? один дополнительный див-обёртка и всё...
написано же
Цитата:

Все очень просто ;)
других вариантов не существует. вернее существуют, но их не знает поделка компании мелкомягко.

colobokXXL 24.02.2009 13:09

Способ проще существует.

Код:

<div class="box">
<p class="framebox">Выравниваем по середине</p></div>


В CSS пишем так:

Код:

.box {text-align:center;}

.framebox {
        display:inline; /*makes string element from block element*/
        padding: 5px;
        background:#ccffee;
        text-align: center;
        border:#5577ff 2px solid;}

Не знаю как вам, лично мне не нужен тупо ответ да ещё с комментарием "Всё очень просто". Приятнее ПОНЯТЬ почему всё это работает.
Для моего решения. Вся суть в том, что блочный элемент меняется на строчный (display:inline;), а для строчных элементов размер по горизонтали определяется его содержимым, а не размерами родительского бокса.
Бокс обёртка <div> выравнивает своё содержимое по середине.
Может я где-то в понятиях и ошибся, но суть, думаю, передал правильно.

KidsKilla 24.02.2009 14:54

в том то и дело, что в чем состоит "ваше решение" -- не известно.
строчный блок в ие не поддерживает указание высоты, ширины, паддингов. всё зависит от его содержимого. в вопросе указывается слово "бокс", что относится к блочному элементу, а не к строчному.

если уж интересно "понять", почитайте: http://softwaremaniacs.org/blog/category/web/primer/

colobokXXL 27.02.2009 10:35

Да, не спорю, с терминами немного напутал :boredom: но свою задачу решил. Код-то работает и работает визуально правильно. Про маниакальный веблог знаю).
Вот ещё интересная вещь http://wdh.suncloud.ru/

P.S.: я хоть попытался объяснить почему код именно такой, а не другой. В примере http://www.artlebedev.ru/tools/techn.../align-center/ кроме "Всё очень просто" других комментариев нет. Не всё для всех всегда очевидно) лучше сказать где прочитать или как подумать, чем давать готовое решение без объяснений. Это лично моё мнение, его разделять совершенно не обязательно :) СПАСИБО!


Часовой пояс GMT +4, время: 01:46.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.