![]() |
блочная верстка часть 1 (DIV)
вот решил начать вереницу тем посвещенную блочной верстке...
для начала предлагаю обсудить седующий элемент верстки: нужно создать блок (извесна его высота и ширина) внутри него должно быть три блока встрочку левый и правый известной ширины, а тот который по середине должен занимать все оставшееся пространство... и есть очень большое желание сделать это без использования позиционирования! при использовании позиционирования это сделать просто... какие есть идеи??? |
Насколько я понял идея такая:
родительский слой(позиция фиксирована, заданы ширина, высота и т.д.) три вложенных слоя в ряд. правый и левый жестко ограничены по ширине центральный плавающий Старый метод, который применялся при табличной вестке: левый - width: Npx центральный - width: 100% правый - width: Mpx Все конечно замечательно, но время от времени выскальзывает глюка - левый и правый блоки сжимаются до 0, если не заполнены и до максимальной длины слова+отступ, если заполнены. Опять же старое такое решение, некрасивое, но рабочее. Код:
<div width="100" title="left-block"><img src="" width="100" height="0"></div> |
|
Vlad Drakula,
Как раз своевременно, потому как я сегодня думал поискать что-то на эту тему. Эксплорер виснет таки, приходтся его периодически переоткрывать. ;( Хочу структуру там где таблицы заменить дивами, а там где маленькие таблицы, ну так уже и оставить.. |
GoDleSS
а как вы хотите заставить эти три блока стоять на одной линии??? |
Vlad Drakula,
Посмотри пожалуйста. Не могу понять почему див вылазит за пределы таблицы и не становится высотой в 5 пикс. HTML код:
<table width="100" border="0" cellspacing="2" cellpadding="0" style="border:#000000 1px solid"> |
benya
а в каком броузере вылазит? наверное в FF ? |
Vlad Drakula,
В ie 6.0 не становится див (как я писал выше) 5 пикселями по высоте и при 100% ширине вылазит за край таблицы и перегораживает его (край). А в firefox по высоте нормально, а вот опять по ширине тоже видно что ближе к правому краю чем к левому. Хотя при 100% вроде отступ должен быть одинаков что слева что справа. |
benya
у меня IE6.0 c SP2 все отображается нормально! |
Vlad Drakula,
У меня то, что идет по умолчанию с winxp sp1 pro. И отображается неправльно. |
benya
ну... что я могу сделать... столкнулся ты с понятием кросброузерность и тем что каждый броужер отображате так как ему хочется! |
Vlad Drakula,
Даже если попробовать использовать заместь таблицы дивку, внутренний див при 100% растягивает на несколько пикселей внешний. Интересно что если внутренний див заменить на: HTML код:
<table cellpadding="0" cellspacing="0" style="border:#333333 1px solid; width:100%"> |
benya
логично... а я ветьговорил что есть баги и то что каждый броузер отображает так как захочет... |
Vlad Drakula, насчет выравнивания по высоте(в ряд) пожалуй будут опять затычкообразные решения :) Что ж, заставляет подумать, тоже неплохо...
benya, попробуйте для div и table высставить в стилевых таблицах Код:
padding: 0px; |
GoDleSS
Цитата:
|
GoDleSS,
Ничего не изменилось. Высота больше 5 пикс. и западание на правый край. См. ![]() |
benya, тогда трогаем в стилях body:
Код:
<html> IE -> ok |
GoDleSS
читайте более внимательно: http://forum.oszone.net/post-447462-12.html |
Вложений: 1
Да, моя ошибка!
Самое интересное, что прогнал указанный человеком код(с дивом, а не таблицей) - все норма, отображает как надо... Тест опять же в опере и ИЕ. |
GoDleSS,
Правильно, но не совсем. Где высота в 5 пикселей? IE 6.0 ![]() Firefox 1.5.0.2 ![]() Opera 6.0 ![]() Мне нужно так, как отобразила Опера |
я думаю что капать нужно в эту сторону:
PHP код:
|
что? все идеии уже иссякли????
|
Вложений: 1
Vlad Drakula,
Кстати, у меня же точно же такая задача. (если я правильно понял). Сделать 3 дива. По краям фиксированной ширины 2 пикс. Середина пустая, должна растягиваться от общей ширины. Нужно для полоски голосования. Но че-то у меня нихера не получилось. Средина без указания ширины ну никак не заполняется. Сделал что-то типа (только с одним дивом и спозиционировал 2 имиджа) : HTML код:
<style type="text/css"> |
benya
подобную конструкцию пробовал? PHP код:
|
Vlad Drakula,
Ну ты гений ;) Отписать осталось только классы ;) |
benya
это то известно мне давно... так сказать одино из стандартных решений... у меня вот было жилание написать такой шаблон, где не нужно будет использовать обсолютное и релятивное позиционирование! но вчера по совещались с дизайнеры и в целях оптимизации будем нарезать такие вещи не из трех картинок, а из двух...(хотя нет... всетаки актуально... есть одно место где нужно клеить из трех картинок + нельзя использовать позиционирование, сейчас эта проблемма решается с помощью таблицы...) а вообще я в очень много рабочего времени трачу на разработку всякого вида шаблонов верстки... |
Вложений: 1
Vlad Drakula,
Немного таки не подходит :tease: HTML код:
<style type="text/css"> Чего не должно быть. 100% должно быть учтено с цифрами. |
benya
1) не нужно использовать служную верстку дивами внутри таблиц!!! это сильно глючит в IE !!! 2) баг с вылизанием текста очень просто... попробуйте исправить сами... если не получится то я помогу вам... |
Vlad Drakula,
Да ничего не получается. цифры эти плавают поверх таблицы. А как их воткнуть внутрь.. HTML код:
<style type="text/css"> |
benya
1) вы уж извените, но сначала почитаю вам немного морали... у вас не получается т.к. вы просто не корерктно сформулировали то что вы хотите сделать... возможно вы еще не готовы чтобы мыслить блоками а не таблицами... для этого нужно много стараться и уяснить несколько простых вещей по блочной верстке... 2) вы не учли мое замечание о том что не нужно комбинировать дивы и таблицы... (просто лирическое отступление...) 3) а вы такую конструкцию не пробовали делать: .DO { right:0px; } .DR{ right:30px; } .DC{ margin-left:2px; margin-right:32px; } |
Вложений: 1
Vlad Drakula,
Да какая разница. Внешним блоком может быть и див. Это ничего не меняет. Если есть другой способ создать график для голосования, поделись. Я другого не знаю. Цитата:
|
benya
Цитата:
код который вам нужен приведу позже... |
Vlad Drakula,
В принципе уже решено. Во внешнем блоке поставил отступ примерно равный ширине строки "100%". Вроде работает. |
предлагаю начать новый "урок" по блочной верстке:
http://forum.oszone.net/thread-68247.html |
Время: 18:36. |
Время: 18:36.
© OSzone.net 2001-