LINUX.ORG.RU

Почему оно такое (CSS)?


0

2

Вот начал изучать CSS layouts. И сразу возникло неприятное ощущение. Ну почему оно такое? Ведь разрабатывалось специально с конкретной целью а в итоге хак на хаке сидит и хаком погоняет. Какие идиоты это делали? Неужели нельзы было продумать такие элементарные вещи как vertical align и full length columns что бы это всё можно было делать без хаков. Это не проблема разных имплементаций а как раз таки проблема самого стандарта.

И ещё один вопрос. Имеет ли реальный смысл переводить табличный layout в CSS? Из аргументов слышал 2: css проще для гугл роботов и удобство внесения изменений. Удобства никакого не вижу, даже наоборот. Так же вызывает сомнение что гугл робот не осилит табличный layout, всё же его писали лучшие программисты учитывая как трудно попасть на работу туда.


Ответ на: комментарий от tyler19

в самом древнем браузере

Кому они нужны? Даже гугл на тот же IE6 положил с прибором.

Создаётся впечатление что CSS вообще не разрабатывался для layout'а

С откровением.

Deleted
()
Последнее исправление: Mystra_x64 (всего исправлений: 1)
Ответ на: комментарий от iVS

Спасибо. Кажется понял. Для меня inline-block всегда был НЁХ.

Xellos ★★★★★
()
Ответ на: комментарий от nikodymus

В итоге имеем 90% сайтов, прибитых гвоздями попиксельно.

Западные дизайнеры очень часто делают дизайн (особенно говношопы) фиксированной ширины по понятным причинам (баннеры, бэкграунды и т.д). И получается хороший дизайн, лучше чем говно от татьяныча.

anonymous
()

После адской возни с css, по-моему, в итоге за пол часа всё сделал табличкой. Имхо, тут надо делать как проще, а на идеологию «а вот через css правильнее» забить потому что для вёрстки оно не было расчитано.

Возможно, сейчас уже имеет смысл делать responsive design (погугли что это такое). Всё никак руки не дойдут почитать как это делается. Надеюсь что без особых костылей.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Согласен. CSS хорош что бы определить размеры шрифтов и не более. Layout в несколько стобцов не вижу смысла мучаться делать, причём я не знаю каким экспером надо быть и сколько тонкостей имплементации в различных браузеров надо знать что бы быть уверенным что не разъедется. Идеалогии никакой не может быть т.к. «сделать правильно» там не возможно, это чистой воды хак от начала и до конца. Может быть когда grid css допилят и умрёт IE.

tyler19
() автор топика
Ответ на: комментарий от risenshnobel

С таблицами сложно делать responsive-вёрстку

Неа, несложно. Просто под каждое нужное разрешение делаем свой лейаут. (Хардкорные похапешники, не слышавшие о модульности, конечно в пролете).

anonymous
()
Ответ на: комментарий от tyler19

причём я не знаю каким экспером надо быть и сколько тонкостей имплементации в различных браузеров надо знать что бы быть уверенным что не разъедется.

Плюсую. Это у лоровских икспердов всё легко. А на деле мультиколоночный лейаут в CSS тока через опу (в качестве бонуса пляски с бубнами вокруг разных версий ишака).

anonymous
()

IMHO всё горе от ума.

Возмём тот же Plan 9 Wiki — идеальная вёрстка. Всё на месте, ничего лишнего. CSS.

И для контраста T-Online — мой любимый пример зубодробильного «как не надо делать». Как и каки органом оно свёрстано, никто не знает.

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 2)
Ответ на: комментарий от beastie

Возмём тот же Plan 9 Wiki — идеальная вёрстка.

Если убрать эту уродскую врезку справа, останется чистый гипертекст. Такую «вёрстку» можно было и 20 лет назад сделать.

И для контраста T-Online

Адово, да. Впрочем вполне в современном стиле «а давайте вывалим всё содержимое БД сразу на главную».

anonymous
()
Ответ на: комментарий от anonymous

а давайте вывалим всё содержимое БД

«Причём не только нашей», ага

Xellos ★★★★★
()
Ответ на: комментарий от anonymous

вокруг разных версий ишака

У ишака есть три версии: говно мамонта, IE8, IE9+. Всё. Говно мамонта очевидно не нужно, остальные две приносят проблемы достаточно редко.

Xellos ★★★★★
()
Ответ на: комментарий от Legioner

На XP ставится восьмёрка. Все, у кого «5.5 - 6» - не нужны. Если это ваши заказчики - пусть платят +200% к стоимости работ. На эти деньги можно нанять отдельного человека с повышенной зарплатой и молоком за вредность.

Xellos ★★★★★
()
Ответ на: комментарий от anonymous

Просто под каждое нужное разрешение делаем свой лейаут.

Т.е. ты собрался при ресайзе страницу перезагружать?

anonymous
()
Ответ на: комментарий от Xellos

Все, у кого «5.5 - 6» - не нужны. Если это ваши заказчики - пусть платят +200% к стоимости работ.

И это говорит человек, не знавший про display:inline-block. Но на ЛОРе каждый мнит себя экспертом. Пусть прибавят еще +200% к стоимости работ за всё то, что не просто гипертекст.

iVS ★★★★★
()
Ответ на: комментарий от iVS

Повторяю. На XP ставится восьмёрка. На XP SP3, конечно же, на говно мамонта она не ставится. Все, кто использует говно мамонта, виноваты сами.
При чём здесь inline-block - совершенно непонятно.

Xellos ★★★★★
()
Ответ на: комментарий от Xellos

На XP ставится восьмёрка. Все, у кого «5.5 - 6» - не нужны. Если это ваши заказчики - пусть платят +200% к стоимости работ. На эти деньги можно нанять отдельного человека с повышенной зарплатой и молоком за вредность.

Они просто уйдут к более сговорчивым конкурентам, а меня уволят за профнепригодность, если я буду так говорить.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

Пожелай сговорчивым конкурентам успехов в труде и личной жизни, а себе найди более вменяемого заказчика. Если к тебе придут с Win98 и IE4, ты тоже будешь с ними возиться?

Xellos ★★★★★
()
Ответ на: комментарий от Xellos

Или более вменяемого работодателя найди, а более сговорчивому преемнику опять же пожелай успехов.

Xellos ★★★★★
()
Ответ на: комментарий от Xellos

Пожелай сговорчивым конкурентам успехов в труде и личной жизни, а себе найди более вменяемого заказчика. Если к тебе придут с Win98 и IE4, ты тоже будешь с ними возиться?

Пока ситуация такая, что на один проект с вменяемым бюджетом несколько компаний претендует. И у всех старое вно. Если бы заказчики выстраивались в очередь, вопрос бы не стоял.

Или более вменяемого работодателя найди, а более сговорчивому преемнику опять же пожелай успехов.

Это да. В ближайших планах. Не по причине IE4, правда.

Хотя я вообще не понимаю такой щепетильности в выборе технологий. Будет стоять задача - буду возиться с IE4. Понятно, что возиться буду долго и менеджер будет про это знать, это уже его головная боль.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

Учись, стажёр, а то так и будешь ключи подавать!

Xellos ★★★★★
()
Ответ на: комментарий от anonymous

Т.е. ты собрался при ресайзе страницу перезагружать?

Неа, при ресайзе вообще ниче менять не надо, нужный лейаут выбирается только при загрузке страницы. За прыгающие колонки убиват!

anonymous
()
Ответ на: комментарий от anonymous

Ах да, я же забыл, что CSS не умеет нормально растягивать содержимое контейнеров. Вот откуда ноги то растут у этой responsive муеты.

anonymous
()
Ответ на: комментарий от Xellos

Все, кто использует говно мамонта, виноваты сами.

Сразу видно админа локалхоста.

anonymous
()
Ответ на: комментарий от Xellos

Пожелай сговорчивым конкурентам успехов в труде и личной жизни, а себе найди более вменяемого заказчика. Если к тебе придут с Win98 и IE4, ты тоже будешь с ними возиться?

А чего с ним возиться? Таблицы везде показываются одинаково. Они идеально подходят для размётки. А с CSS без хаков можно сделать разве что чистый текст с небольшой вставкой как писали выше.

tyler19
() автор топика

Удобства никакого не вижу, даже наоборот.

Если не видите, учите дальше. Через некоторое время возникнет вопрос: как вообще можно верстать на таблицах.

coderage
()
Ответ на: комментарий от Xellos

В ИЕ8 нельзя одновременно в градиент и тень средствами CSS. Так что он тоже не нужен.

coderage
()
Ответ на: комментарий от coderage

Если не видите, учите дальше. Через некоторое время возникнет вопрос: как вообще можно верстать на таблицах.

А почему я собственно должен учить этот уродский набор хаков если в таблицах всё прекрасно получается, работает кроссплатформенно даже на старых браузерах. По поводу контента сверху для гугла можно поспорить, открыть HTML любого новомодно сделанного сайта с размёткой чуть сложнее сплошного текста и увидим много говна в самом начале перед контентом. Да и не верю я что гугл не сможет распарсить таблицы. О мифическом же разделении контента и презентации вообще полный бред учитывая что всё это делается на стороне сервера.

tyler19
() автор топика
Ответ на: комментарий от nikodymus

Все проще: резиновая верстка требует больше опыта от верстальщика, времени и стоит дороже. Намного проще прибить гвоздями и тут дело не в кривости рук и не в говнистости верстальщиков(хотя, бывают, да). Да и каждый случай уникален: где-то нужна резина, где-то нет. Кстати, а сплошь и рядом, это какие например? Интереса ради посмотрел сейчас в открытых вкладках - все резиновые, кроме одного буржуйского dx.com.

gobot ★★★★
()
Ответ на: комментарий от iVS

Ну так не интересно ) Те же таблицы, только в цсс |

gobot ★★★★
()
Ответ на: комментарий от Xellos
{
   width: 100px;
   margin:0 auto;
}

Правда по вертикали никак не отцентруешь без костылей(таблицы центруют только inline)

gobot ★★★★
()
Ответ на: комментарий от gobot

width: 100px

Ненавижу. Если я знаю width, я всё могу. Я НЕ ЗНАЮ width. Сегодня у меня строка 20 символов, завтра 25. Сегодня у меня один шрифт, завтра другой. Если бы я мог сделать попиксельный layout, я бы его делал.
Ненавижу такие примеры и таких советчиков.

Xellos ★★★★★
()
Ответ на: комментарий от tyler19

в таблицах всё прекрасно получается

Таблицы - они таблицы. Они гвоздями прибиты к табличной вёрстке. В этом их плюс, и в этом же минус. Шаг вправо-шаг влево - а идти некуда. Выровнять текст в четвёртой строке так, чтобы он начинался с трети ширины (а в строке только одна ячейка, с этим текстом)? А таблица из десяти колонок? Ой. Будем делать 33 колонки, и писать много-много волшебных колспанов.

Xellos ★★★★★
()
Ответ на: комментарий от beastie

Возмём тот же Plan 9 Wiki — идеальная вёрстка. Всё на месте, ничего лишнего. CSS.

О-да, это конечно верстка. Текст и 1 сайдбар - идеальная как чистый воздух, ничего лишнего

И для контраста T-Online — мой любимый пример зубодробильного «как не надо делать». Как и каки органом оно свёрстано, никто не знает.

Типичная картина: сайт старый, оброс костылями, вебмастера меняются, ни у кого рука не поднимается убрать хоть один костыль - непреодолимый страх что все рухнет. Переверстывать с 0 тоже никому не надо судя по всему... В свое время был хорош(уверен).

gobot ★★★★
()

Неужели нельзы было продумать такие элементарные вещи как vertical align и full length columns что бы это всё можно было делать без хаков.

как уже отметили, ЦСС разрабатывался как дополнение ХТМЛ, который в свою очередь изначально был нацелен на разметку документации и научных работ, там это не особо нужно видимо было.

И да, мне вполне нравится CSS, если б не эти кривые скобочки, ненавижу их

ossnewcomer
()
Ответ на: комментарий от Xellos

Выровнять текст в четвёртой строке так, чтобы он начинался с трети ширины (а в строке только одна ячейка, с этим текстом)? А таблица из десяти колонок? Ой.

Колспаны, да. А в CSS ты как 10 колонок будешь делать?

anonymous
()
Ответ на: комментарий от ossnewcomer

как уже отметили, ЦСС разрабатывался как дополнение ХТМЛ, который в свою очередь изначально был нацелен на разметку документации и научных работ, там это не особо нужно видимо было.

Конечно не нужно, ведь уже были таблицы.

anonymous
()
Ответ на: комментарий от ossnewcomer

Можешь попробовать sass. Помимо конфет, есть опциональные питоно- отсутпы.

anonymous
()
Ответ на: комментарий от ossnewcomer

И да, мне вполне нравится CSS, если б не эти кривые скобочки, ненавижу их

CSS как он есть без переменных и вложенных правил - лютое г. SASS/SCSS уже лучше. А скобочки - вкусовщина.

anonymous
()
Ответ на: комментарий от ossnewcomer

Допустим тебе нужно задать стандартное значение для кучи элементов сразу. Копипастить что-ли? А если захочется поменять? OH SHI~ Те, кто CSS придумал, не имели ни малейшего представления о DRY. И нахрена скобочки, если нельзя в nesting? Карго-культ опять без намека на DRY и удобство.

anonymous
()
Ответ на: комментарий от Xellos

Таблицы - они таблицы. Они гвоздями прибиты к табличной вёрстке. В этом их плюс, и в этом же минус. Шаг вправо-шаг влево - а идти некуда. Выровнять текст в четвёртой строке так, чтобы он начинался с трети ширины (а в строке только одна ячейка, с этим текстом)? А таблица из десяти колонок? Ой. Будем делать 33 колонки, и писать много-много волшебных колспанов.

Ничто не мешает в этой ячейке сделать <div style=«margin-left: 33%;»>Текст с трети ширины</div>, ну или вложенную таблицу.

Да, я согласен что с таблицами писанины много бывает. Но не вижу в этом ничего страшного. Зато всё работает надёжно и кроссплатформенно в отличии от убогого css с кучей хаков для каждого браузера. Кроме того на стороне сервера можно запрограммировать вывод повторяющихся элементов - так всегда спокойнее, не надо беспокоиться о то что поддерживается на стороне клиента а что нет. Ну а всяческим любителям новомодных технологий можно сказать одно - предъявляйте побольше требований к своим клиентам, конкуренты скажут вам спасибо.

tyler19
() автор топика
Ответ на: комментарий от anonymous

CSS как он есть без переменных и вложенных правил - лютое г. SASS/SCSS уже лучше. А скобочки - вкусовщина.

Для этого ещё насколько я понимаю нужна JS библиотека что бы распарсить? Типичный подход новомодного программиста: напихать тонны JS потому что видите ли не нравится скобочки писать или ещё какую ерунду. Думают только о своём незначительном удобстве и похер что браузеры тормозят и загибаются от этих тонн JS.

tyler19
() автор топика
Ответ на: комментарий от tyler19

Для этого ещё насколько я понимаю нужна JS библиотека что бы распарсить?

Нет, не нужна. Парсится все на сервере. Ознакомился бы с матчастью прежде чем возбухать. Хотя, что я тебя уговариваю, жуй свой CSS - он как раз для таких вот буратин.

anonymous
()
Ответ на: комментарий от tyler19

с кучей хаков для каждого браузера

Да нет там кучи хаков для каждого браузера. Говно мамонта - не браузеры.

конкуренты скажут вам спасибо

Я желаю удачи всем «конкурентам», которые будут писать под IE5,6,7. Пусть у них будет в жизни всё хорошо - если уж у них такая паршивая работа.

Xellos ★★★★★
()
Ответ на: комментарий от Xellos

Это не совет, это пример.

Можешь сделать без width, но только у таблицы прокатит.

gobot ★★★★
()
Ответ на: комментарий от Xellos

Я вот не понимаю усилий некоторых помешанных на CSS. Если что то легко делается таблицей, тоже вертикальное выравнивание, тогда зачем мучаться и городить хаки только бы не использовать ненавистный (без причины) тэг <table>?

tyler19
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.