HTML, в отличие от XML, обладает семантикой, т.е. браузер знает как отображать тот или иной HTML тэг.
В HTML есть тэги для управления внешним видом (color, font, big, ...),
но их возможности явно недостаточны.
Решение - описывать внешний вид отдельно от структуры документа c помощью языка Cascading Style Sheets.
<link rel="stylesheet" href="style.css"><style>...</style><img style="margin: 3px" src="...">width, height ― размеры элементаmargin, padding ― границы и отступыdisplay, visibility ― режим отображенияtop, left, right, bottom ― расположениеbackground ― фон элементаfont ― управление шрифтомtext-align ― выравнивание текстаid - идентификатор элемента, должен быть уникален на страницеclass - список классов элемента, классы могут повторяться* { margin: 0px; padding: 0px; border: 0px; }
p { margin-top: 10px; }
.btn { border: solid 1px gray; }
#userpic { padding: 10px }
div.article a { text-decoration: underline }a > img { border: 2px }h2.sic + p { margin-left: 30px }h1, h2 { color: red }a:visited ― посещенная ссылкаa:link ― непосещенная ссылкаdiv:hover ― элемент при наведении мышиinput:focus ― элемент при получении фокусаli:first-child ― выбирает первого потомка среди множества элементов#el:after ― виртуальный элемент сразу после #el#el:before ― виртуальный элемент непосредственно перед #elНе все стили наследуются.
В случае, если два разных стиля конфликтуют между собой, применяется тот, что обладает большей специфичностью. Если специфичность двух стилей совпадает, применяется тот, что расположен ниже в HTML/CSS коде.
Указание в значение стиля флага !important позволяет перекрыть проверку специфичности.
Так, например, селектор ul.info ol + li обладает специфичностью 13,
а селектор li.red.level специфичностью 21 балл
display: none ― элемент невидим, не занимает местаdisplay: block ― элемент занимает максимальную ширину, начинается с новой строки, учитывает width, heightdisplay: inline ― элемент занимает минимальную ширину, и не прерывает строку, игнорирует width, heightdisplay: inline-block ― блочный элемент, но не разрывает строку, примерно как img
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin tempor iaculis massa. Fusce sollicitudin purus viverra erat sollicitudin placerat sit amet ut diam. Vivamus malesuada tristique elit. Proin nec eros tempor.
float: left - всплывание влево, float: right - всплывание вправо, clear: both - отменяет всплывание, «проводит черту»
position: static ― обычное расположениеposition: relative ― смещение относительно начального местоположения на страницеposition: absolute ― если родитель relative, absolute или fixed – относительно родителя, иначе - относительно начала документаposition: fixed ― относительно окна браузераtop/right/bottom/left - отступы, могут быть отрицательными
Bootstrap - это готовая библиотека стилей (CSS-фреймворк) от Twitter. Bootstrap позволяет быстро разработать приемлемый дизайн даже при базовых знаниях CSS.