Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   установка css свойств по умолчанию за 1 шаг. (https://javascript.ru/forum/xhtml-html-css/28260-ustanovka-css-svojjstv-po-umolchaniyu-za-1-shag.html)

mister_maxim 13.05.2012 11:38

установка css свойств по умолчанию за 1 шаг.
 
Собственно сабж, как это сделать?

Задача такая - пишу пользовательский скрипт. Он выводит на любых сайтах панельку с различными инструментами, т.е. меняет DOM структуру документа - панельку вставляет как первый элемент div в body.
На чистой странице - без таблиц стилей, панелька отображается нормально, для неё и элементов внутри неё я использую свои стили (по селекторам div.myPanel, div.myPanel div, div.myPanel input) или внутренние стили элементов, через их свойство style.

Но хотелось бы чтобы панелька точно также отображалась и на любых сайтах. Но некоторые сайты нарушают вид, как я догадываюсь на панельку действуют предустановленные на сайте стили. Значит мне надо отключить их воздействие на элементы в своей панельки, выход я вижу в явной установке всех свойств css элементам своей панели какие установлены по умолчанию. Но. т.к. всех свойств css - весьма много, то может есть другой способ отключить воздействия предустановленных стилей на элементы? Или может приведёте сам *.css файл со всеми установленными по умолчанию свойствами на всех html тегах?

tropiko 15.05.2012 09:18

Вам необходим CSS Reset. Но только не для всего документа, как это обычно делается для html, body и прочего, а только для панели.

Можно сделать корневой элемент панели (типа #myPanel__root), и писать стили каскадом от него.

Примерно так:
#myPanel__root *{
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
	font-size: 100%;
}
#myPanel__root a{
	margin:0;
	padding:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}

Ну и так далее.

Не знаю, как здесь на форуме относятся к ссылка не внешние ресурсы, поэтому гуглите запрос "reset.css"

UPDATE:
Вот стандартный reset.css, модифицируете для себя :)
html, body, div, span, h1, h2, h3, h4, h5, h6, p, em, img, strong, sub, sup, b, u, i,  dl, dt, dd, ol, ul, li, fieldset, form, label, table, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
	font-size: 100%;
}
a {
	margin:0;
	padding:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
table {
	border-collapse: collapse; 
	border-spacing: 0;
}
td, td img {
	vertical-align: top;
} 
input, select, button, textarea {
	margin: 0;
	font-size: 100%;
}
input[type="text"], input[type="password"], textarea {
	padding: 0;
}
input[type="checkbox"] {
	vertical-align: bottom;
}
input[type="radio"] {
	vertical-align: text-bottom;
}
sub {
	vertical-align: sub;
	font-size: smaller;
}
sup {
	vertical-align: super;
	font-size: smaller;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display:block;
}
nav ul {
	 list-style:none;
}


Часовой пояс GMT +3, время: 23:42.