Задать вопрос
  • В где ошибка, не могу понять?

    @GreatRash
    grishaaa: Вы уверены, что на видео таб это именно таб, а не 4 пробела?
  • Как хранить данные в javascript?

    @GreatRash
    Петр: Спасибо кэп, но работа с JSON от работы с объектом не отличается вообще никак, кроме того что методов нет.
  • Как сделать, чтобы картинка была по центру строчного блока?

    @GreatRash
    DTX: Лучше использовать position: relative; с отрицательным top. Причём задавать его лучше в em, чтобы не зависеть от размера шрифта. Или например задать line-height в тех же em (в этом случае оно будет считаться как отступ от базовой линии):

    codepen.io/GreatRash/pen/pyOLJm (значение подобрал опытным путём)
  • Как сделать, чтобы картинка была по центру строчного блока?

    @GreatRash
    DTX: vertical-align: middle; выравнивает относительно воображаемой полосы, проведённой через строчную букву x.

    5a98f13d09912598f67764cc763935f3.png
    codepen.io/GreatRash/pen/ONoQQx

    Отсюда непонимание. 90% дизайнеров (и многие верстальщики) нихрена не понимают в типографике (sic!) и потому уверены, что элементы в строке выравниваются посередине строки. Как я показал выше - это не так.
  • Узнать количество дочерних элементов?

    @GreatRash
    mydarck: Это, прежде всего, семантическая ошибка.
  • Как вычислить максимальную производительность веб-разработчика?

    @GreatRash
    Shing:
    Вебмастер испокон веков это универсальное наименование человека который делает сайты.
    Все манимейкеры, адверты, все назывались вебмастерами раньше. Не знаю как сейчас.

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

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

    Для измерений человечество придумало менеджеры задач (task manager). Но все эти измерения косвенные, ибо вы, глядя на время выполнения 10 дней всё равно не поймёте почему так долго, и далеко не всегда в этом будет виноват верстальщик.
  • Что значит Используйте кеш браузера?

    @GreatRash
    HamSter Вам копипаста нужна чтоль? Ну нате:

    Как (и как не) управлять кэшем

    Существует несколько инструментов, которые веб-дизайнеры и веб-мастера могут использовать для тонкой настройки того, как кэш будет работать с их сайтами. Это может потребовать от вас небольшого ознакомления с конфигурацией сервера, но оно того стоит. Для получения более детальной информации о том, как использовать эти инструменты для работы с вашим сервером, обратитесь к разделам “Реализация” (прим. переводчика — будет в следующей части) ниже.

    Мета-теги HTML и HTTP-заголовки

    Специалисты, работающие с HTML, могут поместить определенные теги в раздел HTML-документа, в котором описываются такого рода атрибуты. Мета-теги часто используются в надежде, что они помогут пометить документ как некэшируемый или устаревающий в определенное время.

    Мета-теги просты в использовании, однако не очень эффективны. Это происходит потому, что они удостаиваются внимания только некоторых браузерных кэшей, но не прокси (которые почти никогда не читают HTML-документ). Хотя это может быть заманчивым - поместить мета-тег Pragma: no-cache в HTML-код страницы, но этот шаг не обязательно сохранит страницу свежей.

    С другой стороны, верные HTTP-заголовки дают вам серьезный контроль над тем, как и кэш браузера, и прокси обрабатывают ваш контент. Они не могу быть рассмотрены в HTML и, обычно, автоматически генерируются на стороне веб-сервера. Однако, вы можете управлять ими в некоторой степени, в зависимости от используемого сервера. В следующих разделах вы увидите, какие HTTP-заголовки представляют интерес, и как их применить на своем сайте.

    HTTP-заголовки отправляются сервером прежде HTML и рассматриваются только браузером и любым промежуточным кэшем. Заголовки типичного HTTP/1.1 ответа могут выглядеть следующим образом:

    HTTP/1.1 200 OK
    Date: Fri, 30 Oct 1998 13:19:41 GMT
    Server: Apache/1.3.3 (Unix)
    Cache-Control: max-age=3600, must-revalidate
    Expires: Fri, 30 Oct 1998 14:19:41 GMT
    Last-Modified: Mon, 29 Jun 1998 02:28:12 GMT
    ETag: "3e86-410-3596fbbc"
    Content-Length: 1040
    Content-Type: text/html

    HTML будет следовать за этими заголовками, отделенный пустой строкой. Смотрите разделы “Реализация” (прим. переводчика - будет в следующей части), чтобы узнать о том, как установить HTTP-заголовки.

    Примечание
    Если ваш сайт размещен у интернет-провайдера (ISP) или на хостинг-ферме и они не позволяют вам устанавливать произвольные HTTP-заголовки (такие как Expires и Cache-Control), упорнее выражайте недовольство; это инструменты, необходимые для вашей работы.

    HTTP-заголовки Pragma (и почему они не работают)

    Многие специалисты считают, что употребление HTTP-заголовока Pragma: no-cache делает контент некэшируемым. Это не всегда верно; спецификация HTTP не описывает никаких указаний для заголовков Pragma в ответе; но Pragma заголовки запроса (заголовки, которые браузер посылает серверу) были упомянуты. Хотя некоторые кэши могут учитывать эти заголовки, большинство - не будет, и их употребление не принесет никакого эффекта. Вместо этого используйте заголовки, указанные ниже.

    Контроль свежести HTTP-заголовком Expires

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

    Большинство веб-серверов позволяют установить заголовки ответов Expires с помощью ряда методов. Как правило, они позволяют установить абсолютно точное время истечения; время, на основе последнего раза, когда клиент запрашивал контент (last access time); или время, основанное на дате последнего изменения документа на сервере (last modification time).

    Заголовки Expires особенно хороши для кэширования статических изображений (таких как навигация и кнопки). Потому что они не изменяются часто и вы можете устанавливать им чрезвычайно долгое время истечения, делая ваш сайт более отзывчивым к пользователям. Они также полезны для управления кэшированием страниц, которые изменяются регулярно. Если вы обновляете страницу с новостями единоразово около шести часов утра, вы можете установить время истечения для контента на этот час - так кэш будет знать о том, когда необходимо получить свежую копию, без необходимости ручного обновления пользователями с помощью нажатия “Обновить”.

    Отметим, что только HTTP-дата является валидным значением HTTP-заголовка Expires. Что-то помимо этого наиболее вероятно будет интерпретировано как уже истекшее, так что контент будет некэшируемым. Также, стоит напомнить, что время в HTTP-дате трактуется по Гринвичу (GMT), не в соответствии с местным часовым поясом.

    Например:
    Expires: Fri, 30 Oct 1998 14:19:41 GMT

    Хотя заголовок Expires полезен, он имеет некоторые ограничения. Во-первых, часы веб-сервера и кэша должны быть синхронизированы, так как в расчетах присутствует время; если у них разное представление о текущих дате/времени, ожидаемый эффект не будет достигнут и кэш может ошибочно трактовать устаревший контент как свежий.

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

    Примечание
    Очень важно быть уверенным в том, что часы вашего веб-сервера работают правильно, если вы используете заголовок Expires. Один из способов удостовериться в этом - использование сетевого протокола для синхронизации внутренних часов компьютера (Network Time Protocol, NTP); поговорите об этом с вашим системным администратором.
  • Почему не работает альбомный медиа запрос?

    @GreatRash
    Евгений: В мобильных браузерах есть свойство window.orientation, есть мнение, что медиа-запросы опираются на это свойство (т.е. на детекторы телефона), а не на ширину окна.
  • Как сделать, чтобы фоновый цвет гиперссылки не передавалось картинке (тоже гиперссылка)?

    @GreatRash
    1ndrei: Ну так и понять, смотреть в консоль если что-то не так. Я именно так и делал :-)
  • При помощи каких технологий реализован этот сайт?

    @GreatRash
    Евгений Самойленко: Панорама - это cubemap.
    Колоски - это текстура. натянутая на квады.
    Корабли - честная 3d-моделька, формат скорее всего .obj
  • Как сделать, чтобы фоновый цвет гиперссылки не передавалось картинке (тоже гиперссылка)?

    @GreatRash
    1ndrei: А вы у картинки маргин уберите. Жёлтая фигня у ссылки торчит, а не у картинки.
  • Как отследить выключение экрана в iOS в Unity3D?

    @GreatRash
    tuxx: А если так: OnApplicationQuit
    Note that iOS applications are usually suspended and do not quit. You should tick "Exit on Suspend" in Player settings for iOS builds to cause the game to quit and not suspend, otherwise you may not see this call.
  • Как автоматизировать редактирование статичных html-файлов?

    @GreatRash
    monochromer:
    Find:

    \.([0-9a-zA-Z_\-]+)
    Replace:

    .prefix__$1
    Before:

    .someDuperclass {
      width: 10px;
    }
    
    .some-duperclass .some-mega__class {
      height: 10px;
    }

    After:

    .prefix__someDuperclass {
      width: 10px;
    }
    
    .prefix__some-duperclass .prefix__some-mega__class {
      height: 10px;
    }
  • Как сделать такой фон?

    @GreatRash
    BMO1337:
    1) CTRL+U
    2) мотаете в самый низ сайта
    3) там в комментариях перечислены все используемые библиотеки
    4) ищете их в гугле
    5) ...
    6) PROFIT!!!!