Показано с 1 по 10 из 10

Тема: Линия из 3х блоков

  1. #1

    Регистрация
    05.03.2007
    Сообщений
    26
    Как можно сделать линию средствами css ну или div-ов высотой в 1px чтоб вот слева был градиент и справа. Этой линией будет отделяться текст. Она должна растягиваться по ширине. Вот примерно что сделал:

    Код:
    <div id="1" style=" width:200px; height:3px; background:url(main_left.gif) #000 left no-repeat">
    <div id="2" style=" width:100px; height:3px; background:url(main_right.gif) #000 right no-repeat"></div></div>
    Помогите, мож есть простой способ решить проблемку) Почемуто не делает высоту в 1px;

  2. #2

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    Не в IE ли, случайно, высоту в 1px не делает?

  3. #3

    Регистрация
    05.03.2007
    Сообщений
    26
    Путем шаманства добился отображения лини след способом:
    Код:
    <div style="background-color:#000000; width:100%; height:1px; overflow:hidden">
    <div style="float:left; background:url(img/main_left.gif) left top no-repeat; overflow:hidden; width:100px;"></div>
    <div style="float:right; background:url(img/main_right.gif) right top no-repeat; overflow:hidden; width:100px;"></div></div>
    Возникает вопрос, как мне эту линию сделать чтоб справа сначало был отступ в 150 пикселов. Делаю маргины и педдинги, получается флоат отъезжает влево, а вот фон от первго дива остается

  4. #4

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    [Только зарегистрированные пользователи могут видеть ссылки. ]

  5. #5

    Регистрация
    05.03.2007
    Сообщений
    26
    Так ну это я читал, а вот разобраться так и не могу. По сути надо ограничить float например блоком с position:relative это сработает? Или флоаты нельзя положить в стакан?

    выход не лучший, но покачто слева и справа регулирую ширину, разными картинками

  6. #6

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    Originally posted by snekaaa@Mar 5 2007, 16:33
    Возникает вопрос, как мне эту линию сделать чтоб справа сначало был отступ в 150 пикселов. Делаю маргины и педдинги, получается флоат отъезжает влево, а вот фон от первго дива остается
    <div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]
    [/quote]
    Эх...
    "Справа сначало" – это откуда?
    "Делаю маргины и педдинги" – для какого элемента?
    "Флоат отъезжает влево" – какой именно флоат отъезжает?
    "Первый див" – это который из трех?

    Originally posted by snekaaa@Mar 6 2007, 09:49
    По сути надо ограничить float например блоком с position:relative это сработает?
    <div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]
    [/quote]
    Конкретно для float-а это ничего не даст.

    Originally posted by snekaaa@Mar 6 2007, 09:49
    Или флоаты нельзя положить в стакан?
    <div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]
    [/quote]
    В стакан можно положить всё, что угодно.

    Originally posted by snekaaa@Mar 6 2007, 09:49
    выход не лучший, но покачто слева и справа регулирую ширину, разными картинками
    <div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]
    [/quote]
    Если я все-таки правильно понимаю ситуацию (в чем я сильно сомневаюсь) – это выход самый оптимальный.

  7. #7

    Регистрация
    05.03.2007
    Сообщений
    26
    Попробую... =)

    Код:
    <div id="line1"><div id="line2"></div><div id="line3"></div></div>
    и стиль:
    Код:
    #line1 {background-color:#000; width:100%; height:1px; overflow:hidden}
    #line2 {float:left; background:url(img/main_left.gif) left top no-repeat; overflow:hidden; width:100px;}
    #line3 {float:right; background:url(img/main_right.gif) right top no-repeat; overflow:hidden; width:100px;}
    В данный момент линия идет через всю ширину страницы. Делаю:
    Код:
    #line1 {background-color:#000; width:100%; height:1px; overflow:hidden; margin-right:150px;}
    #line2 {float:left; background:url(img/main_left.gif) left top no-repeat; overflow:hidden; width:100px;}
    #line3 {float:right; background:url(img/main_right.gif) right top no-repeat; overflow:hidden; width:100px; padding-right:150px;}
    И справа появляеться скрол. Вопрос: Как его убрать или другие способы. Для наглядного просмотра: new.rang56.ru

  8. #8

    Регистрация
    05.03.2007
    Сообщений
    26
    И еще вопрос. В опере эти линии отображаются без градиента вообще ( только черные полоски((

  9. #9

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    Ну теперь вот более-менее все ясно. Итак, по порядку:

    Originally posted by snekaaa@Mar 7 2007, 09:43
    И справа появляеться скрол.
    <div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]
    [/quote]
    Только не справа, а снизу (скролл этот – горизонтальный).
    И он должен появляться. Видимо, Вы плохо читали предложенную мной статью.
    Нельзя задавать для блочного элемента в прямом потоке правые и (или) левые отступы, рамки или поля, если для этого элемента задана ширина в 100%. Потому как в таком случае полная ширина такого элемента будет равна 100%+paddings+borders+margins.
    Уберите width: 100% для <div id="line1">. Если этот блок находится в прямом потоке, Вам это свойство совсем ни к чему. Потому как блоки в прямом потоке и так занимают по ширине все доступное им пространство.

    Originally posted by snekaaa@Mar 7 2007, 13:29
    И еще вопрос. В опере эти линии отображаются без градиента вообще ( только черные полоски((
    <div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]
    [/quote]
    И не только в Опере. В Firefox-е тоже.
    И причина этого заключается в том, что дивы с флоатами у Вас – пустые, и как следствие этого – схлопываются по высоте в нуль. Чтобы их фон отображался, необходимо им явно задать высоту. В данном случае – height: 1px;. И никаких overflow: hidden; для них не надо. Это свойство необходимо в данном контексте только для внешнего контейнера.

    Вот так все должно быть:

    Код:
    <style type="text/css">
    #line1 {background: #000000; height: 1px; margin-right: 150px; overflow: hidden;}
    #line2 {background: url(img/main_left.gif) left top no-repeat; width: 100px; height: 1px; float: left;}
    #line3 {background: url(img/main_right.gif) right top no-repeat; width: 100px; height: 1px; float: right;}
    </style>
    Код:
    <div id="line1">
    ****<div id="line2"></div>
    ****<div id="line3"></div>
    </div>

  10. #10

    Регистрация
    05.03.2007
    Сообщений
    26
    а вы и вправвду духовный гнаставник) =) курим книжки

Похожие темы

  1. Точка и линия на плоскости
    от eiff в разделе Искусство и дизайн
    Ответов: 0
    Последнее сообщение: 26.03.2008, 22:00
  2. Страница из 3х блоков
    от shreq в разделе Вёрстка сайта
    Ответов: 1
    Последнее сообщение: 05.11.2007, 04:44
  3. проваливание блоков в ИЕ
    от DELPHIna в разделе Вёрстка сайта
    Ответов: 6
    Последнее сообщение: 18.09.2007, 19:42
  4. утончающаяся линия
    от asat в разделе Векторная графика
    Ответов: 9
    Последнее сообщение: 14.03.2006, 09:52
  5. Сворачивание блоков таблицы.
    от Zigzag в разделе Вёрстка сайта
    Ответов: 6
    Последнее сообщение: 25.02.2006, 14:06

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •