За последние 24 часа нас посетили 17485 программистов и 1720 роботов. Сейчас ищут 1528 программистов ...

Разбор полетов. Kreker и CSS.

Тема в разделе "HTML и CSS", создана пользователем флоппик, 16 окт 2008.

  1. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    nemec
    Ога, вместо этого надо рыскать И по темплейтам И по куче CSS и JS файлов.
    Я где-то утверждал, что один из подходов экономит время?
    То, что вы назвали "извратом" - лишь один из подходов к веб-программированию. Если вы не хотите или не умеете им пользоваться - не повод называть его извратом. Я перечислил его преимущества. Мне ответили замечательной фразой "поменяй браузер". Без комментариев. Делать запрос к статическому файлу, указывая в запросе левый параметр, от которого результат не меняется, и который нужен только для того, чтобы обойти кеширование браузера - вот это и есть настоящий изврат.
    Детсад. Вы еще напишите про свой возраст и толщину бумажника. В качестве аргументов в пользу CSS-файлов.
     
  2. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    флоппик
    Потому, что у клиентов в кеше осталась старая версия файла (если, конечно, не заниматься регулярным почесыванием правой пяткой левого уха, как предложили MiksIr/nemec).
    Предпочтение и внимание - разные вещи. В любом случае, к вопросу о CSS это уже не относится...
     
  3. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Вот черт. Иногда мои куриные мозги способны вызвать перепалку :)
     
  4. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Да не, тут дело в другом ;)
    Но для того, что бы делать правильные вещи, не обязательно всем доказывать, что они правильные ;)

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

    Если их хотя бы несколько десятков и они хотя бы чуток сложные, возникает задача реюзания различных стилей в различных частях проекта... и вариан один - пихать их в этот общий файл, ибо отдельные файлы на каждый такой случай только маразматик решится сделать ;) Средней сложности проект тянет за собой css на пару десятков килобайт. Сувать на страницу, утяжеляя ее раза в два?

    Но я понимаю, что не все с таким сталкивались... вспоминая афоризмы Пруткова: Многие вещи нам непонятны не потому, что наши понятия слабы, но потому, что сии вещи не входят в круг наших понятий. И есть люди, для которых все выходящие за рамки их понимания будет "почесыванием пяткой". Ну и пусть ;)

    А что, Kreker, у тебя и правда при заходе на любой сайт все "прыгает"? ;)
     
  5. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    MiksIr
    Если страницы перед отдачей клиенту жмутся GZIP-ом (а такую возможность сейчас предлагают все движки), то твоя "пара десятков килобайт" превратится в 2-3 Кб. Если же стили хранятся в отдельном файле, то никакой компрессии не будет. Это я просто к тому, что экономия траффика - не аргумент. И совершенно не обязательно сразу делать выводы типа "они не сталкивались" или "они боятся". Каждому инструменту - своя область применения. Кто-то устраивает помойку из всех стилей проекта в одном файле. А кто-то использует шаблонизатор, который сам собирает в inline только те стили, которые нужны странице.
     
  6. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    стили в отдельной папке, на неё AddType application/x-httpd-php .css
    и в css
    PHP:
    1. <?php
    2. header('Content-Type: text/css; charset=utf-8');
    3. if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) ob_start("ob_gzhandler");
    4. else ob_start();
    5. ?>
    туда же и expire заголовок можно добавить. Для загона в кэш.
     
  7. Luge, все проще, для апача есть mod_deflate и mod_expired
     
  8. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    ага, только они не всегда есть. Столкнулся пвру раз с мнением хостера, что допорнительные модули тормозят их сервак…
     
  9. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Набор чепухи....
    > А кто-то использует шаблонизатор, который сам собирает в inline только те стили, которые нужны странице.
    ОТКУДА собирает? ;) Из того же "неудобного" одного файла? ;) О том, что css не гзипеца, это кому-то еще рассказывайте. У меня все гзипеца и 20к - это уже загзипленое, и в 10 раз обычные файлы не жмутся - только в 3-5 раз. Да и 2-3 кб помнижить на 20-30 тысяч станиц... сколько даст? ;) А "помойка" из одного файла во многом удобнее, ибо с ним и работать удобнее и доставив его один раз клиенту дальше все идет из кеша - это вместо того, что бы на каждый раздел дергать по несколько файлов, пока они все в кеш не лягут. А получить 20к один раз при заходе страницы... думаю даже на вышеупомянутых 95% территории России не составит труда.
     
  10. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Так поменяйте хостера, в чем проблема. Эти модули вам нужны, а не хостеру, ясно дело.
     
  11. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Блин, все ж вот так и прет поспорить вас о том, удобнее ли по снегу на лыжах или все же пешком лучше. Сори, попытаюсь опять слиться. А про дергание страницы мне и правда интересно - где это проявляется, когда, в каких версиях? За все время в веб не замечал такого.... но я Оперой не пользуюсь ;)
     
  12. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    MiksIr
    у меня и так сечас 3 дедика :) А то было так, взгляд назад
     
  13. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    MiksIr
    Действительно, набор чепухи...
    Что за бред? У вас средняя длина сессии - 20-30 тыс. хитов? А когда чел зайдет к вам в следующий раз, его кеш устареет и он будет тянуть этот файл заново. Если вас беспокоят поисковики и генерируемый ими траффик - тогда другое дело, надо экономить. Но обычно заботятся о траффике клиентов. И об их удобстве.
    Я, кажется, русским языком написал - из шаблонов. Причем стили для разных страниц обычно разобраны по разным шаблонам, а не свалены в одну кучу, как у вас.
    Мда... 100к стилей - тяжелый случай. Только не говорите, что у вас в каждом проекте так. Это уже "особенности национальной верстки" какие-то. Бедные же люди, которые зайдут к вам на сайт через проксю, порезавшую заголовок "Accept-Encoding"... пока они увидят саму страницу, они постареют ;) Хотя если проект болен слоновостью стилей, то выбора уже нет, пихать этот ужас прямо на страницу - самоубийство. О чем я и вел речь - для каждой задачи свое решение. Просто вы поймите уже, что бывают разные проекты, и бывают верстальщики с руками, у которых стили не превышают 2-3к. И которые страницу совершенно не напрягают, зато освобождают клиента от необходимости делать лишний запрос на сервер (с параметром, ога ;)) и на время этого запроса любоваться сайтом без стилей.
     
  14. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    А разве для css не существует отдельного expires? Да сервер обычно шлет в ответ заголовок Not modifed...
     
  15. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Существует и отдельный expire достаточно большой и not modified. Но говорить с человеком, который привык работать с маленькими проектами, где сотня страниц и посетитель заходит раз в месяц (что у него успевает кеш умереть) что бы посмотреть десяток страниц... ну я не знаю как ;)
    Если человек сидит за проксей на модеме.. ну, да, наверно придется в 3 (а не в 5, как вам хотелось бы) раза дольше полождать. В общем, думаю, он привык к этому, как это не печально. Ибо в меньшинстве он - никто не точит сайты для меньшинства. Хотя начинаю думать, что еще есть такие, кто опитимизирует сайты под 800х600 и старается, что бы на 640х320 тоже было более-менее.
    И самое главное, так я и не понял, как же он собирается реюзание стилей устроить. Есть5 разных разделов, где одинаковые элементы. А в 10 других - свои одинаковые. Что, для каждого раздела будем пихать стиль? И как потом это саппортить?
     
  16. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    MiksIr
    Я по крайней мере не вру про сессии длиной в несколько тысяч кликов :D
    Насчет проектов с сотней страниц - тут вы сказали большую глупость, либо не знаете даже, что такое семейства страниц (или динамические страницы). Насчет проектов, куда толпами валят обалдевшие посетители, чтобы открыть одну за другой сто (или сразу тыщу!) страниц - ну, мы тут все любим похвастаться, поэтому оставлю без комментариев ;)
    Чем заниматься пузомерками и рассказывать сказки про многосоткилобайтовые стили для многотысячестраничных сайтов, привели бы конкретный пример-ссылку, и сразу все стало бы ясно. Что жмется, и что не жмется. Что кешируется, а что не кешируется. У кого руки прямые, а у кого кривые.

    Kreker
    Это от браузера зависит. IE6, например, при отсутствии информации о кешировании, кеширует то ли на сутки, то ли на неделю. Да и в любом случае лишний запрос к серверу, пусть и с ответом NM, ситуацию не красит.
     
  17. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    MiksIr
    Гениально, блин. Просто зашибись. То есть если бы перед вами встала подобная задача (не кормить клиента кашей из стилей, а отдавать только необходимый минимум), или аналогичная задача в другой предметной области, вы ее решить не смогли бы. Нельзя и все тут.

    Отвечаю: "реюзание" стилей организуется точно так же, как повторное использование кода в ООП. Стили просто наследуются друг от друга. Есть общий набор стилей. Для страниц типа А подключается шаблон стилей А, который наследуется (либо просто включает в себя) от общего набора. Для страниц типа Б подключается шаблон стилей Б. Для страниц типа В, похожих на Б, подключается шаблон стилей В, унаследованный от Б. В каждом шаблоне - минимум текста и никаких повторов, а при сборке страницы генерируется необходимый минимум конечного CSS. И никакой тебе каши. Саппортить тоже проще на порядок, ибо вся зависимость перед глазами и не надо трястись над вопросом, а можно ли исправить данный класс, или же от него что-то там еще наследуется далее по тексту.
     
  18. nemec

    nemec Активный пользователь

    С нами с:
    20 дек 2006
    Сообщения:
    73
    Симпатии:
    0
    Адрес:
    malnova, latgola
    этот пункт вообже нету толка обсуждать. Надо реальный пример. И если что-то не кешируется то browser виноват, а не сайт. Да и вообще я об этом мало беспокоюсь, не 90 же года. Не знаю как в россии, а я свои сайты и жерез GPRS нормально могу посмотреть, без каких либо тормозов. И экономию эту обсуждать не желаю.

    если я меняю oтображение сайта, то мне не надо лезть в шаблоны, мне не надо разбираться как он построен, какой фреимворк он использует. HTML может быть где угодно: mysql, темплейты, cache. Что бы мне его найти, надо качать весь сайт и искать - разве это не тупизна? Нахер моему дизайнеру это всё?
    Я за чистый HTML - без JavaScriptoв, без CSS. Я разрабатывал один сайт вообже без дизайна, а дизаинер через полгода дизайн сам добавил. И вообще это относится не только к webu, а к программированию в общем.
    потому я и упоминул про команду.

    твои аргументы, это быстро - или есть еще?
     
  19. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    А я не писал про сессии в тысячи страниц. Это вы увидели и придумали. Так хочется что-то найти, за что можно задеть, что читаем плохо, ага.

    Так я не понял, у вас где-то в отдельном файле css и оттуда в конечные страницы генерируются нужные стили? Не понимаю я, что значит в вашей терминологии "генерируется необходимый минимум конечного CSS".
     
  20. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    Dagdamor
    это в пхпс у тебя так? 0о
     
  21. BS

    BS Активный пользователь

    С нами с:
    10 апр 2008
    Сообщения:
    149
    Симпатии:
    0
    Вот мне кажется потому мы и отстаем от "заграницы", что не приемлем их успешный опыт, все воспринимаем в штыки, делаем по-своему и вопреки.
    Почитайте любой англоязычный блок, посвященный web-технологиям, там уже никто не сомневается, что внешние css-файлы это хорошо, а inline-css - не очень. И доказательств приводилось огромное количество.
    Т.е. этот вопрос там решен несколько лет назад, а мы все варимся в собственном соку и спорим.
    Свобода творчества это конечно замечательно, и новый велосипед может быть не хуже старого, но надо определиться чего вам больше хочется - играть с технологиями или пользоваться ими для достижения выгоды?
     
  22. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    BS
    Вы покажите любому из этих авторов CSS-файл на 100 кило, которым так хвастается MiksIr, и его стошнит на собственный блог.
    И если эти авторы не понимают простую истину о том, что не стоит выносить 2-3 кб (а иногда и меньше) в отдельный файл, то я не доверюсь их мнению. Ибо люди умные понимают, что есть ситуации, когда стоит, а есть - когда нет. И да, выбор, где будут храниться стили, это конечно показатель успешности или отставания от запада, ога ;)
     
  23. BS

    BS Активный пользователь

    С нами с:
    10 апр 2008
    Сообщения:
    149
    Симпатии:
    0
    Dagdamor, я говорю об общей тенденции, а не о частностях, при этом речь шла о сайте, как минимум, а не о какой-то одной страничке, где один тег будет выделен красным цветом.

    И я имел в виду грамотное использование css. Могу в противовес привести html-страничку, сгенерированную с помощью MS Word.
     
  24. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    BS, забей ;) Он будет зубами стоять на своем, приводя кучу бредовых аргументов... и что не жмется, и что устаревает, и бредить про наследование и чудо-систему, которая будет сама "генерировать необходимый минимум конечного CSS" =) Будет ратовать за бедных регионщиков с медленными каналами, но утверждать, что экономить на трафике тут смешно. Причем никаких аргументов за, кроме экономии 1 запроса озвучено не было ;) Т.е. эномия десятка килобайт - спички, а один запрос - катастрофа... хм, новая болезнь - запрософобия? ;)

    В общем, если сайт состоит из одной-двух страниц, а очень важно, что бы грузилось ровно в любой жопе мира - встроить туда css полезно. Но это именно исключения скорей - или мелкие визитки или поисковики, например ;) Остальные делают так, как удобне работать и разрабатывать. Если Dagdamor-у будет удобнее прыгать по шаблонам и дублировать css описания для того, что бы менять один элемент сразу в 10 местах - то флаг ему в руки.

    Зашел тут на яндекс-фотки ;) 74кб внешний css... причем даже без gzip-а =) Молодцы, не парятся ;)
     
  25. BS

    BS Активный пользователь

    С нами с:
    10 апр 2008
    Сообщения:
    149
    Симпатии:
    0
    Если народ смотрит фотки, то для него не будет катастрофой однократная загрузка 74кб таблицы стилей.
    Это раз, а во вторых, яндекс проводит программу локальный яндекс, поэтому может себе это позволить не вызывая гнева пользователей :)