- HTML
- Верстка
Питання до прихильників семантичного HTML-розмітки.
Як випливає верстати багаторядкова цитату? Зрозуміло, що тегом blockquote, але тут мені бачиться утруднення в досить поширеному випадку, коли в останньому абзаці після завершення цитати йде ще який-небудь текст: зазвичай це вказівка джерела в дужках, знак виноска або навіть банальна точка поза цитати. Що робити з таким текстом?
З одного боку, він не є частиною цитати, так що всередині тега blockquote йому робити нічого. З іншого боку, він є частиною останнього абзацу з згрупованих в тому ж тезі.
Загалом, хочеться рішення і семантично коректного і щоб виглядало правильно - або хоча б міркувань чому це неможливо.
Я не зовсім розумію, чому утруднить обробку скриптом :) Але навіть якщо і утруднить - скрипти для того і потрібні, щоб вирішувати складні завдання, в той час як люди весь час додають потрібну їм складність. Я зазвичай наводжу в приклад шрифти - мало того, що їх сотні тисяч і весь час створюються нові, але ще і всередині шрифтів додаються, наприклад, різні двокрапки або різні написання цифр. Зрозуміло, що CSS з цим не впорається. (Йому хоча б з переносами впорається, що вже говорити про більш складні друкарські ідеї.)
окей, а як же тоді називати блок «витримка з тексту + вказівка джерела»?
про cite - пам'ятаю десь недавно якраз читав про ці зміни, дурість це я вважаю. але html5 - це поки ще working draft, подивимося що далі буде.
якщо цитата триває кілька абзаців замінюємо q на div. можна додати всередину p за смаком.
Якщо міркувати в ідеології HTML5, то треба так:
Засобами CSS міняти display: block у тега block quote на inline - про яку тоді семантиці взагалі йде мова?
Якщо треба зробити універсальну версію для всіх браузерів IE7 +, то про CSS3 c last-child доведеться забути. Як то кажуть, не до жиру. Семантична верстка - це сферичний кінь у вакуумі, який натикається на IE і розбивається вщент.
А поізвращаться можна ось так, наприклад:
blockquote [title]: after content: attr (title); float: right;
>
Так що або шашечки (семантична верстка), або їхати (верстка по візуальному драфту).
Все-таки W3C пишуть, що cite тільки для назв цитованих робіт.
Можна не cite. можна p.blockquote-postlude або article / footer; як розумієте, проблема зовсім не в цій деталі.
Засобами CSS міняти display: block у тега blockquote на inline - про яку тоді семантиці взагалі йде мова?
Тут як раз не бачу ніякого утруднення. Стиль display змінює уявлення. до семантиці це ніяким боком.
Якщо треба зробити універсальну версію для всіх браузерів IE7 +, то про CSS3 c last-child доведеться забути.
Тут теж ніякої проблеми; нерозуміння CSS виправдано фіксують Jscript'ом.
Так що або шашечки (семантична верстка), або їхати (верстка по візуальному драфту).
Та ні, поєднати їх можна. Але чую - тільки HTML / CSS тут не обійтися. Потрібно скріптовать, а правильніше, напевно, - застосовувати XSLT.