Jump to content

airscape

Newbie
  • Posts

    10
  • Joined

  • Last visited

airscape's Achievements

Explorer

Explorer (1/14)

0

Reputation

  1. Ну прям как Змей Горыныч настоящий.Хоть немножко, но поджарить, да?Так, пыхнуть немножко все же надо... Насчёт варианта - хороший вариант. А что боковые колонки? заключить 3 дива в другой див, уж из него то эти 2 абсолютно спозиционированных точно не выпадут. И продолжать верстать ниже.
  2. Во-первых, нужно вручную устанавливать значения маргинов, подбирая. Во-вторых, остаются белые пробелы между блоками
  3. Спасибо за Ваши примеры! Горыныч, в Вашем примере всё бы хорошо, но шармана.... Если разложить алгоритм, а он почти аналогичен примеру Сигмы, то получается что: Мы прифлотили блок 1 к левому краю, а блок 3 к правому.Затем мы начинаем подшаманивать с отрицательными значениями маргинов так чтобы освободилась часть по центру для блока 2 известной ширины. Границы блока 2 всё равно чётко не сходятся, остаются пробелы. Ну это ладно ещё... Получается в итоге,что мы по-любому должны указать ширину плавающего блока, в данном случае 50%, а потом начинаем его двигать куда подальше чтобы не мешал центральному, маргинами или пр..Это конечно способ, но сами понимаете, кустарный. Нельзя ли как-то так сделать, чтобы плавающий блок сам вычислял сколько ему нужно до соседнего и растягивался до него средствами CSS? Наверное,так ничего не выйдет, потому что у плавающего блока должна быть задана ширина.Получается, что мы вынуждены подшаманивать ширинами, маргинами. Разумеется, всё можно решить написанием джаваскрипта, который сам будет вычислять сколько надо ширины краевых блоков до центрального и устанавливать её в в пикселах или процентах. Но мне кажется это заведомо неправильно, использовать тяжёлую артиллерию для таких нужд. Неужели способ с отрицательными маргинами, назовём его так,единственный? Кривоватый он какой-то, хоть примерно и очень близко к цели.
  4. Цитата(psywalker @ 18.12.2010, 19:14) <{POST_SNAPBACK}>Главное, что уловила суть и поняла, в чём фишка Замечательно. Есть 2 кода. Сначала я разбиру пример Горыныча с маргинным подшаманом Напишу позже Цитата(gorinich @ 18.12.2010, 19:04) <{POST_SNAPBACK}>если вам нужен был ответ на заборе, то сказали бы хотя бы это.да, действительно, я бы сказал. Но как видите не сказал, а значит нужно было не это
  5. Цитата(psywalker @ 18.12.2010, 17:23) <{POST_SNAPBACK}>airscapeТы уверен, что у твоей задачи нет решения на слоях? Скинь сюда свою аську, я опровергну твои выводы. Вот аська. Жду в гости
  6. Цитатаиз-за краткости не указав стандарт, вы получите ответ не в том стандарте, на котором пишете.Обычно вот такая вот супердисциплина показная, или я не знаю что это ещё, как раз и мешает фантазии и творчеству. Я сказал что суть вопроса то понятна, разве речь шла о xhtml? я вообще мог привести код и без тега body. Мне кажется что за слово "стандарт" вы готовы просто... порвать. Знаете, на заборе тоже написано, или на красивом стенде. А на деле, в жизни всё иначе. Зачем придавать наукообразие поверх нужного? Цитатаэто работает годами в старых стандартах. посмотрите, что будет с таким объявлением величин в xhtml.Да пофик что с ними будет в xhtml или xxxhtml. Речь идёт о примере в пределах основного смысла кода,поставленного вопроса, а не о бордерах и их поведении в xhtml речь вообще. Да я хочу чтобы ширина крайних блоков растянулась до краёв сразу, а не помере заполнения контента. Я не считаю что эта задача нерешаема. Я просто чувствую по полученной информации о блочной вёрстке что тут надо исхитряться, для того чтобы добиться результата. Я потому я и задался вопросом, а как это сделали бы Вы. Вообще не хочу обсуждать тему о том чем лучше верстать, об этом в инете достаточно информации. Я бы хотел сосредоточиться на данной проблеме.
  7. Цитата1. всегда нужно писать, в каком стандарте html вы верстаете (doctype). в разных стандартах разметка формируется по разному, разные браузеры разные стандарты по разному воспринимаютКонечно я пишу стандарт. я для краткости так поместил. Цитатавсегда в стилях следует писать, в каких единицах измерения вы указываете размеры/отступы (border:solid 1 red; - ошибка)Да, может быть это ошибка по теории, но на практике во всех браузерах это работает годами. Кроме того это не моя личная выдумка, это взято было однажды из книги. Есть же значения единиц измерения по умолчанию. Цитатаfloat включает обтекание объекта, он не говорит выстраиваться объекту в линию с обтекаемыми. в вашем случае два дива обтекаются третьим. третий див ничем не обтекается. поскольку вы ошибочно поставили обтекать и его, вам пришлось вставить совершенно ненужный див, отключающий обтекание.Ваш пример хорош. Но посмотрите как ie6 прочитает этот код. У последнего 3го блока не стоит float:left и он отделён от второго промежутком. Может быть и потому из-за этого бага в различных статьях чаще всего приводится пример в выставлением float:left для всех блоков,которые хотели бы разместить в ряд, а затем отмена обтекания. Есть разные способы отмены обтекания. Я выбрал в данном случае такой способ. Цитататаблицами действительно проще и быстрей сверстать простую страницуВы себе не представляете какие сложные страницы можно верстать таблицами. И это делалось вполне нормально на протяжении последних 10 лет. И в том и другом способе(блоками или таблицами) есть свои недостатки, конечно. Вы использовали танцы с бубнами с указанием отрицательных маргинов, да ещё пришлось почесаться насколько именно там выставить их, в -150 (а может в -180?). Это не универсальный способ центрирования ряда блоков, потому что здесь есть какие-то конечные величины в маргинах и т.д. Уж тогда проще expression воспользоваться чтобы всё нормально отцентрировать. Кроме того, крайние блоки не тянуться до краёв (блоки 1,3) как это предполагалось. Насчёт многослойности. В каком смысле смотря многослойность, что под этим понимать. Наложение блочных элементов друг на друга? Да и таблицами можно, просто display выставить иначе и также дальше продолжать с z-index'ми и прочим танцевать. Я читал в статьях что при вёрстке блоками, сложной, приходится извёртываться часто, использовать не по значению свойства. Overflow, margin и т.д. Так что пока посмотрю ещё информацию чтобы разобраться сможет ли блочная вёрстка обеспечить центрирование, растяжки в нужном объёме. Пока нет решения даже той простой задачи выше, которая таблицами выполняется просто в мгновение ока.
  8. Да, но кроме того и краевые блоки не растягиваются к своим краям, как хотелось бы. Вообще складывается ощущение что блочная разметка пока ещё очень сыровата, и проще и быстрее таблицами делать. Как Вы думаете?
  9. Привет! После изучения статей по выравниванию блоков по горизонтали так и не получилось решить следующую задачу. <html> <head> <title>Untitled</title> <style type="text/css"> .cont { float:left; } </style> </head> <body> <div align="center" style="border:solid 1 lime;"> <div style="border:solid 1 red;background:orange;" class="cont">блок-контент 1</div> <div style="border:solid 1 red;background:yellow;width:300px" class="cont">блок-контент 2 (ширина задана,фикс)</div> <div style="border:solid 1 red;background:orange;" class="cont">блок-контент 3</div> <div style="clear:both"></div> </div> </body> </html> Есть 3 плавающих блока с конетентом (блоки 1,2,3 ; блок 2 - посередине ), у блоков выставлено float:left (чтобы выстроились горизонтально, кстати, может в данной задаче так не стоит делать их плавающими?). Блок 2, то есть центральный блок, имеет фиксированную ширину(напр. 300px) и находится между двумя другими блоками 1,3. Необходимо выравнять все 3 блока по центру внутри родительского контейнера, то есть чтобы эта троица стояла в центре родительского контейнера и была отцентрирована по горизонтали, и сделать так чтобы ширина крайних блоков 1,3 растягивалась во всю оставшуюся ширину страницы до её краёв. Я пробовал среди других способов объединить 3 блока в другой контейнер, а потом выравнять его относительно родительского - также не получилось. Как это можно было бы осуществить или укажите похожий пример пожалуйста. Спасибо
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy