Комментарии 111
По-моему верстать блоками таблицу, это всё равно что верстать таблицей блоки.
PS У table, tr и td display:block уже давно можно установить…
PS У table, tr и td display:block уже давно можно установить…
вы не поняли? это не для того, чтобы верстать таблицу блоками. это для того, чтобы создавать разметку страницы.
вообще, давно надо было придумать подобный стандарт, ато эти костыли с флоатами, позициями и дисплеями на самом деле ужасные.
хотя все попытки до этого были на самом деле в меру отвратительными
вообще, давно надо было придумать подобный стандарт, ато эти костыли с флоатами, позициями и дисплеями на самом деле ужасные.
хотя все попытки до этого были на самом деле в меру отвратительными
За деревьями можно не увидеть леса.
То, о чём говорил aavezel имхо.
Откройте примеры ну скажем в Chrome и ужаснитесь. Про мобильные браузеры и прочую кроссбраузерность лучше и не думать. Вот глядя на такое думаешь — уж лучше бы он таблицами верстал.
А стандарт CSS Grid Alignment Level 3 конечно интересен. Возможность тасовать местами блоки, прозрачно и наглядно задавать размеры в CSS это просто замечательно. Но когда это будет работать во всех браузерах так-же надёжно как таблицы? Ведь grid это всего-лишь сетка… табличная сетка.
То, о чём говорил aavezel имхо.
Откройте примеры ну скажем в Chrome и ужаснитесь. Про мобильные браузеры и прочую кроссбраузерность лучше и не думать. Вот глядя на такое думаешь — уж лучше бы он таблицами верстал.
А стандарт CSS Grid Alignment Level 3 конечно интересен. Возможность тасовать местами блоки, прозрачно и наглядно задавать размеры в CSS это просто замечательно. Но когда это будет работать во всех браузерах так-же надёжно как таблицы? Ведь grid это всего-лишь сетка… табличная сетка.
Таблица, которая table — элемент для использования в текстовых блоках, а не в представлении. И display:block — ещё более грязный хак.
ну, неплохо на самом деле
Представлен не стандарт, а editor's draft, то есть черновик, который после длительного обсуждения (мы все знаем как быстро делаются дела в w3c) возможно (!) станет официальной рекомендацией.Не только после длительного обсуждения, но и только после того, как, по крайней мере, будет две независимых реализации предложенного стандарта.
Представлен, то представлен. А какие браузеры поддерживают?
Идея хороша, но вот синтаксис пока кажется сложноватым. Возможно, просто нужно привыкнуть.
а зачем код вставлен картинками?
да и еще без подсветки
он взят из черновика стандарта, можно копипастить оттуда, только пока смысла в этом все равно нет
А чем его подсветить, по-вашему?
Потому, что он всё равно вам не пригодится :)
ну ведь не получится теперь скопировать кусок кода, кинуть другу в аську и сказать: «смотри, хрень какую придумали!»
Скопируйте отсюда: webstandardsdays.ru/2010/06/26/pres/layout/ — там много всякой хрени )
Ложка дорога к обеду. Они с этим стандартом опоздали лет так на 10. Хотя несомненно он облегчит жизнь верстальщикам.
Из всех предложений вариант могилевского, т.е. этот, по-моему, самый крутой.
Очень интересно. В предвкушении.
2012 год, MS IE10 поддерживает CSS Grid Alignment Level 3, MS Expression Blend 6 среди типов проектов имеет «Web-page» и кнопочку Save as HTML…
Напоминает 99 год и FrontPage :)
Да вы оптимист. Я думаю будет так: «IE14 — Новейший инновационный браузер от Microsoft: CSS3(99%) CSS4(24%), grid(98%), HTML5(100%), HTML6(0%)».
CSS2 (81%)
шутка не смешная, CSS2 поддерживается на 100% в ie8
но это не значит, что он будет поддерживаться в ie14, в этом и шутка ;)
Например, свойство «text-shadow», входящее в CSS2, к сожалению, так до сих пор ИЕшечкой и не поддерживается. Так что всё-таки не на 100%, как бы этого ни хотелось.
Формально говоря, в CSS2.1 text-shadow нет.
reference.sitepoint.com/css/text-shadow
text-shadow was originally specified in CSS2 but removed from CSS2.1. It’s currently also included in the CSS3 Text module.
reference.sitepoint.com/css/text-shadow
text-shadow was originally specified in CSS2 but removed from CSS2.1. It’s currently also included in the CSS3 Text module.
CSS2 ни одним браузером на 100% ещё не поддерживается, даже на уровне бумаги, я уже не говорю про реальность.
Какая-то у вас несмешная шутка вышла. Пройдите по ссылке: www.w3.org/TR/css3-grid/
Посмотрите кто автор.
Посмотрите кто автор.
2012 год,… веб-разработчикам всё ещё приходится ставить костыли в код для IE6.
Извините, что разрушил построенную вами идилию.
Извините, что разрушил построенную вами идилию.
Это очень полезная плюшка. С этим можно будет легко строить модульную сетку.
CSS Grid Alignment Level 3
dev.w3.org/csswg/css3-grid-align/
Editors:
Alex Mogilevsky, Microsoft Corporation
Phil Cupp, Microsoft Corporation
Markus Mielke, Microsoft Corporation
Daniel Glazman, Disruptive Innovations
Есть сомнения, что IE не будет поддерживать…
dev.w3.org/csswg/css3-grid-align/
Editors:
Alex Mogilevsky, Microsoft Corporation
Phil Cupp, Microsoft Corporation
Markus Mielke, Microsoft Corporation
Daniel Glazman, Disruptive Innovations
Есть сомнения, что IE не будет поддерживать…
И не забываем, что на XP максимум можно поставить IE8.
Именно поэтому я не пользуюсь addEventListener, все равно в IE ниже девятки его нет, а ее на XP поставить нельзя. Array.indexOf я тоже презираю по этой причине.
А совсем недавно я видел машину, на которой стоят IE4.0 и возможности поставить что-то новее нет. С тех пор я не использую ajax.
А совсем недавно я видел машину, на которой стоят IE4.0 и возможности поставить что-то новее нет. С тех пор я не использую ajax.
Очень просто и красиво, ещё бы браузеры данную спецификацию поддерживали одинаково…
я так понимаю, что после введения стандарта работать будет только в новых браузерах. для старых так и придется костыли использовать.
Довольно неплохо, решает много проблем.
А то эти танцы сfloat бубном задолбали.
А то эти танцы с
А как правильно тогда размеры блоков указывать? В тех же процентах?
В решении не увидел
В решении не увидел
размеры задаются сеткой либо являются резиновыми
ну вот в данном примере сетка имеет размеры 1fr. Тогда и блоки такие же должны были получится. Разве нет?
Читая вспомнил как раньше верстал таблицами. Принцип тот же, просто разметка проще и логика в css перенесена. Новое это хорошо забытое старое.
Это у МСа неявная сетка? :))))))
#grid{ display: gird, grid-columns:… } — это неявная сетка? :)))
Это — это те же таблицы, вид сбоку. Все то же самое можно сделать гораздо меньшей кровью на %% и flow, при этом не ограничивая себя только гридами.
А w3c еще прелагает www.w3.org/TR/css3-flexbox/, www.w3.org/TR/css3-multicol/ новую единицу gr в www.w3.org/TR/css3-grid/
Не говоря уже о страшном страхе под названием www.w3.org/TR/css3-layout/
Вот когда это все будет введено, реализовано по-разному в разных браузерах, вот тогда начнется веселуха.
И все ради того, что на 99% покрывается введением вменяемых %% и flow
#grid{ display: gird, grid-columns:… } — это неявная сетка? :)))
Это — это те же таблицы, вид сбоку. Все то же самое можно сделать гораздо меньшей кровью на %% и flow, при этом не ограничивая себя только гридами.
А w3c еще прелагает www.w3.org/TR/css3-flexbox/, www.w3.org/TR/css3-multicol/ новую единицу gr в www.w3.org/TR/css3-grid/
Не говоря уже о страшном страхе под названием www.w3.org/TR/css3-layout/
Вот когда это все будет введено, реализовано по-разному в разных браузерах, вот тогда начнется веселуха.
И все ради того, что на 99% покрывается введением вменяемых %% и flow
> У него есть серьезное преимущество (которое в корне отличает его от таблиц, так что ничего не вид сбоку:) — располагать элементы на странице можно абсолютно независимо от их расположения в исходном коде.
Согласен
> Что-то мне подсказывает, что если бы это предложение внесла другая компания, реакция бы сильно отличалась.
У меня остались бы такими же :) Я тут краем глаза давно слежу за развитием событий (даже периодически почитываю публичную рассылку w3c). Там творится трэш и угар — каждый тянет одеяло на себя, а бОльшая часть народа вообще, кажется, с другой планеты.
На фоне всего этого конкретно данное преложение — еще торжество разума (во всяком случае тут виден практический подход к проблеме)
Согласен
> Что-то мне подсказывает, что если бы это предложение внесла другая компания, реакция бы сильно отличалась.
У меня остались бы такими же :) Я тут краем глаза давно слежу за развитием событий (даже периодически почитываю публичную рассылку w3c). Там творится трэш и угар — каждый тянет одеяло на себя, а бОльшая часть народа вообще, кажется, с другой планеты.
На фоне всего этого конкретно данное преложение — еще торжество разума (во всяком случае тут виден практический подход к проблеме)
Надо почитать. Их мысли меня зацепили.
зачем ввели grid-layer, когда есть z-index?
представляю, сколько проблем добавится с абсолютным позиционированием элементов, когда с ним и так то не очень гладко.
и еще, попытка динамического добавления строк обречена на провал — придется пересчитывать все grid-row у всех нижележащих ячеек, причем делать это в css/style?!
да и вообще, появление в добавок к блочной модели еще одной, альтернативной модели разметки — это сильное усложнение движка рендеринга, появление множества нюансов (багов/фич/хаков).
лучше бы ввели выражения в css, тогда модульные сетки можно было бы программировать на цсс, находясь в рамках традиционной блочной модели.
представляю, сколько проблем добавится с абсолютным позиционированием элементов, когда с ним и так то не очень гладко.
и еще, попытка динамического добавления строк обречена на провал — придется пересчитывать все grid-row у всех нижележащих ячеек, причем делать это в css/style?!
да и вообще, появление в добавок к блочной модели еще одной, альтернативной модели разметки — это сильное усложнение движка рендеринга, появление множества нюансов (багов/фич/хаков).
лучше бы ввели выражения в css, тогда модульные сетки можно было бы программировать на цсс, находясь в рамках традиционной блочной модели.
Как будет вести себя блок, у которого указана ширина max-content и содержащий абзац текста?
А вообще красиво (по сравнению и с table, и с float и прочими хаками), но я бы предпочёл прямое задание каждой ячейки сетки, а не grid-row-span (может аллергия на таблицы сказывается :) ).
Жаль, что непонятно когда это будет поддерживаться, в IE9, по-моему, не увидим :(
А вообще красиво (по сравнению и с table, и с float и прочими хаками), но я бы предпочёл прямое задание каждой ячейки сетки, а не grid-row-span (может аллергия на таблицы сказывается :) ).
Жаль, что непонятно когда это будет поддерживаться, в IE9, по-моему, не увидим :(
афигенно! отпадает необходимость в хитрых фреймворках основанных на модульных сетках, остается только спросить у дизайнера какой модуль он брал, прописать его в стилях и вуа-ля… Печально что ждать такой песни еще очень долго (
Не фонтан. Очень много вопросов возникает, так как этот стандарт вообще меняет логику верстки. Неизвестно как и на что он будет влиять, неизвестно как будут дела обстоять с разными браузерами. Будет какой-нибудь косячок в отображении одного из браузеров и вся разметка поедет. И непонятно чем float неугодил. Разметку блоков как на первом примере я накидаю за пару минут. Да, css будет побольше, зато никаких заморочек, никаких проблем с кроссбраузерностью. CSS Grid Alignment Level 3 имхо может пригодиться только для всяких извращений, как в задачке, опубликованной ранее, но так изгаляться с позиционированием блоков приходится крайне редко. То есть пример синтетический и не показывает практическую необходимость нового стандарта.
Вы консерватор.
>И непонятно чем float неугодил.
Для меня главный минус использования float и прочих современных «хаков» — зависимость html кода от сетки модулей, не решается задача разделения содержания и его представления. Думаю предпоследнюю картинку с резиновой вёрсткой весьма затруднительно будет сверстать в виде шести div'ов в произвольном порядке прямо под body, особенно в случае резиновой вёрстки для каждого блока в обоих направлениях, так чтобы первый и второй варианты получались только сменой css.
Для меня главный минус использования float и прочих современных «хаков» — зависимость html кода от сетки модулей, не решается задача разделения содержания и его представления. Думаю предпоследнюю картинку с резиновой вёрсткой весьма затруднительно будет сверстать в виде шести div'ов в произвольном порядке прямо под body, особенно в случае резиновой вёрстки для каждого блока в обоих направлениях, так чтобы первый и второй варианты получались только сменой css.
А зачем это нужно?
Зачем вообще людям размещать блоки не по порядку?
Если уж разделять представление от содержания, тогда уж легче данные начать хранить не в HTML-е
Зачем вообще людям размещать блоки не по порядку?
Если уж разделять представление от содержания, тогда уж легче данные начать хранить не в HTML-е
Действительно, всё достаточно просто и понятно. Но всё равно где-то должно быть "..., но" и у этого способа.
Если бы не юзернейм автора, не догадался бы, что топик про IE!)) Отличная маскировка :D
ок, ждем js-хаков реализующих данный стандарт хотя бы начерно, а там и браузеры подтянуться…
На РИТ-2010 есть хороший доклад по всем трём предложениям по layout в CSS3:
Ссылку парсер съел. Вот: rutube.ru/tracks/3146682.html?v=0e29a5d0143e696dd7ca002feb2ee14a&bmstart=2631000
А вот ссылка на саму презентацию: webstandardsdays.ru/2010/06/26/pres/layout/ — смотреть в Webkit-браузерах.
К сожалению, доклад не учитывает последнее предложение, о котором идёт речь. Но, в целом, будет очень полезен, да.
К сожалению, очередная красивая, но неприменимая на практике фантазия.
Допустим даже, вот прямо завтра 1-2-3 передовых браузера включат поддержку такой разметки — и что? Как быть со старыми?
В последнее время идёт такая тенденция, что на совсем уж старых уродцев (типа IE6) какбэ можно подзабить. И понять разработчиков можно — все тупо устали с ними бороться, подчас тратя на совместимость с одним экспонатом кунсткамеры больше времени, чем на всю остальную вёрстку. Имею богатый личный опыт… Но тут подзабить не выйдет!
Лично я сейчас придерживаюсь такой политики: страницы для старых браузеров не вылизываю до блеска, на некритичные деффекты декора не обащаю внимания. То есть где-то рамка, тенька, градиентик не работает — это нестрашно. Но чтобы полностью ломалась структура страницы — это недопустимо. Страница может страдать только в плане декора и плюшек, но должна оставаться полностью читабельной и функциональной.
Делать две параллельные версии шаблонов (новые и старые) и грузить нужные в зависимости от браузера? Накой нам двойная работа?
Допустим даже, вот прямо завтра 1-2-3 передовых браузера включат поддержку такой разметки — и что? Как быть со старыми?
В последнее время идёт такая тенденция, что на совсем уж старых уродцев (типа IE6) какбэ можно подзабить. И понять разработчиков можно — все тупо устали с ними бороться, подчас тратя на совместимость с одним экспонатом кунсткамеры больше времени, чем на всю остальную вёрстку. Имею богатый личный опыт… Но тут подзабить не выйдет!
Лично я сейчас придерживаюсь такой политики: страницы для старых браузеров не вылизываю до блеска, на некритичные деффекты декора не обащаю внимания. То есть где-то рамка, тенька, градиентик не работает — это нестрашно. Но чтобы полностью ломалась структура страницы — это недопустимо. Страница может страдать только в плане декора и плюшек, но должна оставаться полностью читабельной и функциональной.
Делать две параллельные версии шаблонов (новые и старые) и грузить нужные в зависимости от браузера? Накой нам двойная работа?
Тут с Вами нельзя не согласиться.
Ценность того, что мы видим, не в том, что завтра этим можно будет пользоваться. Этого не будет. Ценность в том, что работа идёт, CSS совершенствуется и когда-нибудь это появится во всех актуальных браузерах. Хуже было бы, если бы сейчас ничего не разрабатывали оправдываясь тем, что никто из браузеров в ближайшее время это не реализует а значит никому это и не надо. Жаль как-то они медленно работают и не всегда выбирают востребованные вещи. Имхо переменные в CSS давно бы уже все реализовали, если бы они были своевременно стандартизированы.
Ценность того, что мы видим, не в том, что завтра этим можно будет пользоваться. Этого не будет. Ценность в том, что работа идёт, CSS совершенствуется и когда-нибудь это появится во всех актуальных браузерах. Хуже было бы, если бы сейчас ничего не разрабатывали оправдываясь тем, что никто из браузеров в ближайшее время это не реализует а значит никому это и не надо. Жаль как-то они медленно работают и не всегда выбирают востребованные вещи. Имхо переменные в CSS давно бы уже все реализовали, если бы они были своевременно стандартизированы.
Стандарт очень упростит работу верстальщикам, вот только сколько будем ждать от всех браузеров полноценную поддержку этих стандартов, одному богу известно
Может быть повторю уже сказанное, но:
— Новость от 26 октября: web-standards.ru/news/274/
— Это авторский черновик, который а) является пересмотром старого черновика CSS Grid Positioning б) никем не поддерживается в) сильно изменится до тех пор, пока достигнет статуса рекомендации
— Существует большая проблема обратной совместимости, поскольку этот черновик не предусматривает использования экстра-разметки, и даже если два браузера начнут его поддерживать, то для трёх остальных будет взрыв макета. Надеюсь, что после первых реализаций появятся JS-костыли, имитирующие работу этих свойств.
…но всё это нисколько не мешает нам радоваться тому, насколько круто всё будет лет через пять.
— Новость от 26 октября: web-standards.ru/news/274/
— Это авторский черновик, который а) является пересмотром старого черновика CSS Grid Positioning б) никем не поддерживается в) сильно изменится до тех пор, пока достигнет статуса рекомендации
— Существует большая проблема обратной совместимости, поскольку этот черновик не предусматривает использования экстра-разметки, и даже если два браузера начнут его поддерживать, то для трёх остальных будет взрыв макета. Надеюсь, что после первых реализаций появятся JS-костыли, имитирующие работу этих свойств.
…но всё это нисколько не мешает нам радоваться тому, насколько круто всё будет лет через пять.
Дайте два!
я вот таки не понял где определяется ширина блока D?
Я относительно давно знаком со всемы черновиками организации компоновки (grid, flex, layout).
Предудущая инкарнация grid (которая CSS Grid Positioning) как-то немного уступала другим, особенно flex.
Но новая версия (CSS Grid Alignment) смотрится явно интереснее. Все очень предельно просто и понятно. И данный подход решает 99% задач. Ближайший конкурент flex не решает, к примеру, независимость содержимого от представления (нельзя свободно тасовать блоки).
Предудущая инкарнация grid (которая CSS Grid Positioning) как-то немного уступала другим, особенно flex.
Но новая версия (CSS Grid Alignment) смотрится явно интереснее. Все очень предельно просто и понятно. И данный подход решает 99% задач. Ближайший конкурент flex не решает, к примеру, независимость содержимого от представления (нельзя свободно тасовать блоки).
Мне как программисту, которому всегда была не очень интересна дивовая вёрстка с хаками-перехаками, это нововведение будет ооочень полезно.
Правда, работа верстальщика теперь будет не так нужна? Не завидую, бедным…
Правда, работа верстальщика теперь будет не так нужна? Не завидую, бедным…
Есть ли разумное объяснение столь несуразному синтаксису стандарта? Нельзя ли было вместо
grid-column-align: end; grid-row-align: start
придумать просто
grid-align: top right
grid-column-align: end; grid-row-align: start
придумать просто
grid-align: top right
а если я напишу grid-align: right top? потому и выбрали «start» и «end» чтобы можно было применять в обоих направлениях. что касается общего синтаксиса типа: grid-align: start start, то я думаю, что он будет реализован
> а если я напишу grid-align: right top?
Работать будет нормально (по аналогии с backround-position)
Работать будет нормально (по аналогии с backround-position)
Черт. Я хочу учиться верстать не сейчас, а когда такое введут
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Представлен стандарт CSS Grid Alignment Level 3