Если поместить в тело (HTML-элемент body
) HTML-страницы текст и (или) какие-либо HTML-элементы, не указывая нигде их стилей, то браузер всё равно как-нибудь да и отобразит эту HTML-страницу.
Например, если в моем браузере «Microsoft Edge» (на движке «Chromium»), в операционной системе «Windows 10», в тело HTML-страницы добавить простой текст, не указывая нигде никаких стилей, то браузер отобразит текст черным цветом на белом фоне. А если заглянуть при этом в инструмент «Elements» из инструментов разработчика (F12) браузера, то можно заметить, что браузер добавил к HTML-элементу body
такой стиль:
body { display: block; margin: 8px; }
Таким образом, наш текст еще и аккуратно отодвинут от границ области просмотра на 8 пикселей.
Этот стиль, как видно в инструменте разработчика «Elements», помечен надписью «user agent stylesheet». Что это значит? Вообще «user agent» — это вид программ, на русский переводится как «агент пользователя». В данном случае под этим словосочетанием подразумевается наш браузер, который служит агентом пользователя, посредником между пользователем и вебом (Всемирной паутиной). То есть словосочетание «user agent stylesheet» переводится на русский как «таблица стилей браузера».
По идее, таблица стилей браузера используется по умолчанию, когда автор HTML-страницы не указывает стилей, минимально необходимых для отображения этой HTML-страницы. Как я понимаю, таблица стилей браузера может отличаться у разных браузеров.
Я не понял, откуда берутся цвет текста и фона по умолчанию (через инструмент разработчика «Elements» это не видно), возможно, тоже из таблицы стилей браузера, либо они заданы где-то отдельно.
В устаревшем сейчас браузере «Internet Explorer» цвет текста и фона по умолчанию можно было задать через меню «Свойства браузера», там для этого была специальная кнопка «Цвета».
В моем теперешнем браузере «Microsoft Edge» (на движке «Chromium») я не смог найти ни того, как можно настроить цвета по умолчанию, ни того, как можно изменить таблицу стилей браузера по умолчанию (она же «user agent stylesheet»).
Я, конечно, обыскал настройки браузера. Для этого следует нажать кнопку с многоточием в правом верхнем углу окна браузера. В открывшемся меню нужно выбрать пункт «Settings» (по-русски «Настройки»). После этого откроется новая вкладка браузера с его настройками. В левом меню этой вкладки есть пункт «Appearance» (по-русски «Внешний вид»; тут настройки не только внешнего вида браузера, но есть и настройки, которые касаются отображения HTML-страниц). Тут можно поменять тему оформления самого браузера, настроить его панель инструментов (какие-то кнопки убрать, какие-то — показать). Можно выбрать шрифт, которым по умолчанию будет отображен текст HTML-страницы, и размер этого шрифта по умолчанию. Однако, здесь нельзя настроить цвета по умолчанию для элементов отображаемой HTML-страницы или таблицу стилей браузера по умолчанию.
Еще у меня была мысль о том, что, возможно, искомые настройки можно найти в настройках моей операционной системы (напомню, у меня — «Windows 10»). Чтобы это проверить, я нажал кнопку «Пуск», а в открывшемся меню, в столбце слева — пункт «Параметры». В открывшемся окне я выбрал пункт «Персонализация». Опять открылось новое окно, в котором, в меню слева, можно просмотреть пункты «Фон» и «Цвета». Как выяснилось, они не влияют на отображение браузером HTML-страниц.
Выводы. На сегодня для указанного выше браузера мы не можем поменять цвета по умолчанию или таблицу стилей браузера по умолчанию (она же «user agent stylesheet»). Скорее всего, это верно и для браузера «Google Chrome», а также для других браузеров, построенных на движке «Chromium», исходя из того, что они работают на одном и том же движке.
Но мы можем, конечно, для своей HTML-страницы написать свои стили на языке CSS, которые «перекроют» («затрут») соответствующие стили по умолчанию от браузера, так как стили автора HTML-страницы обладают большим приоритетом по сравнению со стилями по умолчанию от браузера (они же «user agent stylesheet»).
vlad-55 152 / 16 / 4 Регистрация: 21.02.2009 Сообщений: 2,438 |
||||
1 |
||||
10.04.2014, 22:29. Показов 60397. Ответов 13 Метки нет (Все метки)
В стилях прописано:
Однако, инспектор кода показывает, что user agent stylesheet блокирует эту директиву (скриншот). Есть ли способ как-то обойти или ликвидировать эту блокировку? Изображения
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
10.04.2014, 22:29 |
13 |
418 / 380 / 163 Регистрация: 03.01.2013 Сообщений: 966 |
|
10.04.2014, 22:42 |
2 |
User-стили и так перебиваются обычным способом. Дело, скорее всего, в чем-то другом.
1 |
152 / 16 / 4 Регистрация: 21.02.2009 Сообщений: 2,438 |
|
10.04.2014, 22:46 [ТС] |
3 |
Дело, скорее всего, в чем-то другом. Как поискать это другое?
0 |
418 / 380 / 163 Регистрация: 03.01.2013 Сообщений: 966 |
|
10.04.2014, 22:50 |
4 |
Выложите больше информации о проблеме. Как подключаете стили? Другие стили пробовали задавать? Например, цвет.
1 |
152 / 16 / 4 Регистрация: 21.02.2009 Сообщений: 2,438 |
|
10.04.2014, 23:13 [ТС] |
5 |
Стилей вцелом довольно много, и часть из них подключаются внешним файлом, а часть находятся непосредственно в HTML файле. Я привел лишь одну заблокированную браузнром директиву, а на самом деле их несколько. Наверняка мой случай не уникальный и хотелось бы понять, как решаются такие проблемы. Ведь возникновение конфликта стилей можно обойти?
0 |
29 / 29 / 9 Регистрация: 03.03.2014 Сообщений: 58 |
|
11.04.2014, 00:05 |
6 |
Никак его нельзя убрать вовсе — можно только переопределить. Например, как на картинке. Миниатюры
1 |
327 / 217 / 97 Регистрация: 04.11.2012 Сообщений: 638 |
|
11.04.2014, 08:14 |
7 |
vlad-55, Т.е. у вас браузер переопределяет назначенные вами стили? Так получается?
1 |
75 / 75 / 11 Регистрация: 04.08.2012 Сообщений: 526 Записей в блоге: 2 |
|
11.04.2014, 12:28 |
8 |
Скорее всего дело в том, что где то во внутренних стилях тоже определен important для данного text-decoration вот по этому он и не дает себя заметить. Но это всего лишь предположение. Для того, чтобы понять проблему нужно посмотреть код.
1 |
152 / 16 / 4 Регистрация: 21.02.2009 Сообщений: 2,438 |
|
11.04.2014, 23:43 [ТС] |
9 |
И еще у меня есть предположение, что вы пытаетесь сделать изменение в некой CMS? В принципе, так и есть. Только эту CMS я сам и сделал пару лет назад…
0 |
29 / 29 / 9 Регистрация: 03.03.2014 Сообщений: 58 |
|
12.04.2014, 00:32 |
10 |
Попробую постепенно очистить страницу вообще от всего и таким образом найти комбинацию Аэм, зачем?
1 |
152 / 16 / 4 Регистрация: 21.02.2009 Сообщений: 2,438 |
|
12.04.2014, 01:08 [ТС] |
11 |
Я так и делал; вообще все стили отключил, но остался user agent stylesheet, который все и определяет…
0 |
Администратор 11997 / 5327 / 268 Регистрация: 05.04.2011 Сообщений: 14,086 Записей в блоге: 2 |
|
12.04.2014, 01:12 |
12 |
vlad-55, ссылку на страницу
0 |
12384 / 7223 / 758 Регистрация: 09.09.2009 Сообщений: 28,185 |
|
12.04.2014, 01:15 |
13 |
Я так и делал; вообще все стили отключил, но остался user agent stylesheet, который все и определяет… кажется мне, вот это и есть ключевая фраза
0 |
16 / 0 / 0 Регистрация: 29.11.2014 Сообщений: 3 |
|
30.09.2015, 09:40 |
14 |
тоже парился со стилями пока не сделал просто копировал с user agent stylesheet. Типо было так: ul, menu, dir { user agent stylesheet. Добавил к стилю к моему параметры из user agent stylesheet. ul.item { И всё.
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
30.09.2015, 09:40 |
Помогаю со студенческими работами здесь подмена user agent’a curl и user agent $url="http://адрес сайта";… Пустой user-agent Как вставить user agent Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 14 |
Однажды я написал веб-страницу в соответствии с инструкциями моего инструктора и обнаружил, что стиль тега h2 был неправильным. Затем я нажал F12 для отладки и нашел стиль, который никогда не определял на панели стилей справа. Из таблицы стилей пользовательского агента после просмотра информации Обнаружено, что этот продукт является форматом, автоматически добавляемым браузером.
В частности, это так: таблица стилей агента пользователя будет перезаписана тем, что вы установили в своем собственном CSS. Они простоСамый низкий уровеньБез страницы или какой-либо таблицы стилей, предоставленной пользователем, браузер все равно должен каким-либо образом представлять контент, и таблица стилей агента пользователя просто описывает это. Поэтому, если вы считаете, что есть проблема с таблицей стилей пользовательского агента, тогда у вашего HTML или CSS или обоих (вы ничего не написали) действительно есть проблема.
Концепцию таблицы стилей пользовательского агента можно посмотреть в официальной документации:Нажмите, чтобы открыть ссылку
Решение 1:
Поскольку приоритет таблицы стилей агента пользователя очень низок, вы можете написать свой собственный стиль наложения. Добавьте стиль, охватываемый таблицей стилей агента пользователя, к вашему CSS, как показано ниже, это таблица стилей агента пользователя, которую я только что нашел после отладки.
Скопируйте и вставьте его, измените стиль в своем собственном коде
Пересмотренный результат
хорошо, решение проблем
Решение 2: Напишите reset.css или normalize.css
Цель: уменьшить несоответствие браузера по умолчанию высоте строки, полей и размера шрифта заголовка
Пример кода reset.css
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
Надеюсь, это поможет вам