Задать вопрос
  • Семантичная HTML-вёрстка многострочной цитаты?

    torbasow
    @torbasow Автор вопроса
    P. S. Оказывается, что неудивительно, не я первый задаюсь такими вопросами. Ещё восемь лет назад писали, что этот тег неудовлетворителен: «The blockquote element is mostly an illusion, and for adequate markup, better methods would be needed. In HTML as currently defined, blockquote should be used for bulky quotations but not relied upon. You should include both a «prelude» that verbally expresses that a quotation follows and a «postlude» that specifies the source or otherwise indicates that the quote ends. Moreover, CSS can be used to distinguish quotations visually».

    Это всё замечательно. Но я не вижу выхода, когда верстальщик не может свободно выбирать представление, а должен до какой-то степени следовать исходному оформлению, скажем, в бумажном первоисточнике. Проблема состоит в том, чтобы визуально запихнуть это «postlude» внутрь последнего абзаца, но вне кавычек. Неужто остаётся прибегнуть к помощи ECMAscript? Я привык рассматривать его в такой роли как временный «костыль», пока в браузерах не заработают очередные фичи HTML и CSS. Но я не вижу даже призрака такого будущего решения в HTML5 и CSS3. Увы.
  • Способ присваивания переменным дефолтных значений?

    Пардон, опечатка. Должно быть так, конечно:

    «Во имя ясности кода, что имеем в виду, то и пишем — if(argument===undefined) argument="value";»
  • Как выдавать CSS стили пользователю?

    «Писать максимально полные селекторы (с максимально возможной глубиной)».

    Разумно, но я же написал: «гарантированно и без лишних напрягов». Оба пункта не удовлетворяются. А в моей практике прибавляется ещё и третий: начальник требует меньшей глубины селекторов во имя оптимизации скорости обработки.
  • Способ присваивания переменным дефолтных значений?

    var argument=null;
    if(argument == undefined) argument = "value";
    alert(argument);//Однако, "value"! А если "===", то null


    Ибо null==undefined

    Мораль: не полагаться на то, что результат будет одинаков, ибо мало ли что. Во имя ясности кода, что имеем в виду, то и пишем — if(argument == undefined) argument = "value";
  • Как выдавать CSS стили пользователю?

    А как в этом одном файле гарантированно и без лишних напрягов избежать подцепления элементами из одних модулей стилей, написанных для других модулей?
  • Zend_Filter_StringTrim некорректно работает с UTF-8?

    torbasow
    @torbasow Автор вопроса
    В версии 5.2.4 регулярка с модификатором u сбоит на строках, начинающихся с символа не ASCII.

    А указанная Вами ссылка в данный момент не работает.
  • Zend_Filter_StringTrim некорректно работает с UTF-8?

    torbasow
    @torbasow Автор вопроса
    Версия PHP — 5.2.4. При добавлении модификатора u функция возвращает NULL, если поступающая в неё строка начинается с символа не ASCII.
  • Семантичная HTML-вёрстка многострочной цитаты?

    torbasow
    @torbasow Автор вопроса
    Вот и моя мысль крутится вокруг такой структуры. Но как теперь сделать средствами CSS, чтобы адрес шёл в завершение последнего абзаца цитаты, а не отдельным абзацем? Конечно, работает следующее:

    blockquote, blockquote>p:last-child, blockquote>cite{display: inline;}

    Но проявляются безобразные побочные эффекты.
  • Семантичная HTML-вёрстка многострочной цитаты?

    torbasow
    @torbasow Автор вопроса
    Не знаю, как называть такой блок. Нет такого блока, недоработка HTML.

    Насчёт валидности — я по привычке проверял в XHTML Strict 1.0, там не валидно. Ну, да не в cite проблема, он легко заменяется на <span class="cite"> или что-нибудь в этом роде.

    Если заменяем q на div, то, во-первых, возникает проблема с кавычками (ладно, их можно на blockquote>div навесить), а во-вторых текст после цитаты пойдёт в отдельном абзаце, тогда как требуется, чтобы он завершал последний абзац цитаты. Я тут упражняюсь с display, но красивого решения пока не вижу.
  • Zend_Filter_StringTrim некорректно работает с UTF-8?

    torbasow
    @torbasow Автор вопроса
    Проблема с флагом наблюдается в версии 5.1. Но я не уверен, что он вообще должен использоваться. Если регулярке с ним попадает неюникодовский текст, в однобайтовой кодировке, preg_replace возвращает NULL. А зендовский метод, как я понимаю, предполагался рассчитанным на любые кодировки. А почему он тогда не использует trim — непонятно.
  • Zend_Filter_StringTrim некорректно работает с UTF-8?

    torbasow
    @torbasow Автор вопроса
    Да, с этой версией сейчас дома проверил — всё ОК. Но на работе вылезал NULL. Причём не при всех регулярках, а только при некоторых. Какая точно версия PHP там, к сожалению, не помню. Кажется, 5.1.что-то. Посмотрю ещё в понедельник.
  • Семантичная HTML-вёрстка многострочной цитаты?

    torbasow
    @torbasow Автор вопроса
    Не годится. Во-первых, указание автора не является частью цитаты. Цитата, согласно толковому словарю Ожегова, это «точная дословная выдержка из какого-н. текста, высказывания». Во-вторых, грядущий HTML 5 очень строго и ясно настаивает, что тег cite должен включать в себя название источника и ничего более. Никаких имён авторов, скобок и тем более завершающих точек. В-третьих, Ваш код не валиден: q и cite — строчные элементы, а blockquote должен содержать только блочные. В-четвёртых, я не вполне чётко это оговорил, но имелась в виду цитата, занимающая несколько абзацев, так что q для неё не годится.
  • Семантичная HTML-вёрстка многострочной цитаты?

    torbasow
    @torbasow Автор вопроса
    И что делать? Как «правильно»? Включать точку с запятой в тег? А то, что это затруднит автоматическую обработку текста скриптом или XPath, это правильно?

    Ясно, что типографские правила с трудом впихиваются в современный CSS. Тут так и напрашивается что-то вроде em:next-letter:contains(';'){test-style: italic;}. Хотя em, по-моему, в русских текстах вообще делать нечего, но со strong точно то же затруднение.

    Интересно, разработчики стандартов думают что-нибудь по этому поводу? Они могли бы приспосабливаться к типографским правилам или предлагать модифицировать их для веба.
  • Какие теги кошернее: em или i, strong или b?

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

    strong{font-weight: normal; font-style: italic;}