Как в HTML создать новый тэг?
В HTML набор тегов фиксорован, и нисего нового создать нельзя.
В принципе, Mozilla понимает любые теги, т.е. можно написать
<mytag style="color: red">красное</mytag>
и это сработает. Но IE просто проигнорирует этот тег.
Но ведь HTML -- это версия SGML и все тэги изначально именно так в нем и определяются, средствами SGML. Или я не прав?
Нет. Формально никто не запрещает расширять html как угодно. Описывай новый doctype, подходящий для твоих нужд и вперед. Вот только фиг ты браузерам объяснишь, что у тебя не стандартный html.
Я тут немного покопался в нете. Вроде бы XML позволяет вводить новые тэги. Совсем не хочется страницу делать целиком на XML. Они с HTML как-нибудь совмещаются?
Храни контент в xml, шаблоном генери из него html.
Можешь пример дать или ссылку?
Вот меня и интересует как раз, как ввести новый doctype, и в чем здесь проблема с браузерами.В том, что браузеры на самом деле не читают doctype.
Чем тебя не устраиват стандартный html?
Как я уже писал. Допустим, содержимое на странице отображается в хитрой рамочке, которая представляет из себя таблицу с картинками. Соответственно, везде где эта таблица, нужно вставлять HTML, ее описывающий. Хочется же один раз описать эту таблицу и далее делать <mytable>Text</mytable>
Так мне все равно, что из него генерится. Редактировать структуру как раз хочется в HTML.
Так и писать, а в конце пройтись парсером по этой страничке, который заменить все твои <mytable> на нормальный код.
пройтись парсером по этой страничке
С этого места поподробнее, пожалуйста
Разве парсер не встроен в браузеры?
Я, к сожалению, ухожу. Всем, кто принимал участие, спасибо, и до вечера.
А вообще-то смотри уже в сторону шаблонов (не обязательно xslt) и иже с ними.
не обязательно xslt
а что еще?
Но ведь HTML -- это версия SGML
Ничего подобного !
1. Написать жаваскриптовые макросы
2. Юзать XML и XSLT
3. Найти нормальный парсер шаблонов для того языка, который ты юзаешь (Smarty, Velosity)
PS. HTML это подмножество SGML
PSS Большинство подобных проблем решается генерации странички, т.к. те же картинки все равно выводятся в цикле серверным скриптом, а ты просто в этот цикл вставляешь нужный HTML-код
Я надеюсь ты не юзаешь чистый HTML? Если да, то все вышеперечисленные методы тебе не помогут. Потому что даже в случае с JS тебе придется писать немаленькие кусок кода и его потом форматировать.
Тебе цитату дать?
Да нет, я на PHP делаю. Просто не хотелось вот так красиво и читабельно. Видимо, заведу функцию типа insertTableHereAndNow($content правильно мыслю?
А вообще разрюхай smarty
Для пхп клевая вещь
Всем большое спасибо. Буду разрюхивать
HTML - является некоторой "реализацией"...
Тебе не кажется, что ты умничаешь и к словам придираешься?
Я просто хотел тебе помочь в понимании...
Почему? Потому что если бы ты понимал, то так бы не писал(тебе бы в голову не пришло)...
PS: Сегодня HTML используется как средство визуализации для "броузера"... На нем "чистом" не пишут... Их генерируют другими средствами...
И еще вопрос. Можно ли при помощи стилей задать таблице cellspacing и cellpadding, и как это сделать?
Атрибут определяет отступ от содержимого элемента до обрамления слева.
Синтаксис: селектор {padding-left: 0}
Пункты.
Синтаксис: селектор {padding-left: 12pt}
Дюймы.
Синтаксис: селектор {padding-left: 12in}
Сантиметры.
Синтаксис: селектор {padding-left: 12cm}
Пиксели.
Синтаксис: селектор {padding-left: 12px}
padding-right
Атрибут определяет отступ от содержимого элемента до обрамления справа.
Синтаксис: селектор {padding-right: 0}
Пункты.
Синтаксис: селектор {padding-right: 12pt}
Дюймы.
Синтаксис: селектор {padding-right: 12in}
Сантиметры.
Синтаксис: селектор {padding-right: 12cm}
Пиксели.
Синтаксис: селектор {padding-right: 12px}
padding-top
Атрибут определяет отступ от содержимого элемента до обрамления сверху.
Синтаксис: селектор {padding-top: 0}
Пункты.
Синтаксис: селектор {padding-top: 12pt}
Дюймы.
Синтаксис: селектор {padding-top: 12in}
Сантиметры.
Синтаксис: селектор {padding-top: 12cm}
Пиксели.
Синтаксис: селектор {padding-top: 12px}
padding-bottom
Атрибут определяет отступ от содержимого элемента до обрамления снизу.
Синтаксис: селектор {padding-bottom: 0}
Пункты.
Синтаксис: селектор {padding-bottom: 12pt}
Дюймы.
Синтаксис: селектор {padding-bottom: 12in}
Сантиметры.
Синтаксис: селектор {padding-bottom: 12cm}
Пиксели.
Синтаксис: селектор {padding-bottom: 12px}
Уж лучше сразу сюда: http://www.w3.org/TR/REC-CSS2/
А конкретнее сюда: http://www.w3.org/TR/REC-CSS2/tables.html и сюда: http://www.w3.org/TR/REC-CSS2/box.html
Можно ли при помощи стилей задать таблице cellspacing и cellpadding, и как это сделать?Можно.
table { border-spacing: 10px; } /* это cellspacing */
table td { padding: 5px; } /* это cellpadding */
http://www.w3.org/TR/REC-CSS2/tables.html#propdef-border-spacing
http://www.w3.org/TR/REC-CSS2/box.html#propdef-padding
И гораздо больше можно.
<table>
<td> </td>
</table>
<table cellpadding="0" cellspacing="0">
<td> </td>
</table>
значительно отличаются друг от друга по размерам
Это не то.
Ну ты циферки другие поставь вместо 10px и 5px.
А я именно и поставил. 0 и 0
Если тебе нужно просто именно ноль, то можно написать border-collapse: collapse вместо border-spacing: 0
а border-style: none не катит ?
Не, не катит. Сам border нужено рисовать.
Нет блин, не катит collapse
А при чем тут border-style?
Страничку покажи.
А еще неплохо бы написать <html>, <head> и прочее...
Огромнова спасиба!
А еще неплохо бы написать <html>, <head> и прочее
Здесь, как ты сам понимаешь из названия файла, совершенно незачем.
Оставить комментарий
jenua82
Допустим, я хочу чтобы специального вида таблица обозначалась одним тэгом по аналогии с <table>. Причем изменения касаются не только внешнего вида (хватило бы стилей тогда, понятно) но и структуры. Как это можно сделать?