Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Background-position-x и background-position-y
Свойства задают положение фонового изображения внутри элемента по горизонтали и вертикали соответственно. Данные свойства являются нестандартными и не входят в спецификацию CSS. Положение фонового изображения внутри элемента задается относительно верхнего края элемента с использованием процентов, единиц длины и ключевых слов. Например: background-position-x: right; background-position-y: bottom; Background-attachment Свойство background-attachment указывает, будет ли фоновое изображение прокручиваться вместе с содержимым документа. Принимаемые значения: scroll фон прокручивается вместе с содержимым; fixed закрепляет фоновое изображение; local (CSS3) фон фиксируется с учётом поведения элемента: если элемент имеет прокрутку, то фон будет прокручиваться вместе с содержимым, а фон, выходящий за рамки элемента, фиксируется. inherit наследует значение родителя. Начальное значение: scroll. body { background-image: url(img/star.gif); background-position: top; bасkgrоund-repеаt: no-repеаt; bасkgrоund-аttасhmеnt: fixеd; } Замечание. Значение свойства background-position у закрепленного фона определяется относительно левого верхнего угла зоны просмотра, а не самого элемента. Background-size Данное свойство позволяет масштабировать фоновое изображение. Принимаемые значения: ширина и высота через пробел; ключевое слово contain; ключевое слово cover. По умолчанию ширина и высота установлена как auto, что сохраняет исходные размеры изображения. Пропорции могут искажаться. Например: background-size: 100px 200pt; background-size: 120% 30em; Если применяются проценты, подразумеваются размеры элемента, а не изображения. В следующем примере если у контейнера ширина 600px, то размер фонового изображения уменьшится до 300× 300; background-size: 50% auto; Если указано единственное значение, оно считается шириной. Высота устанавливается как auto, и при этом пропорции сохраняются. Следующие значения аналогичны: background-size: 200px; background-size: 200px auto; Данный код масштабирует изображение с 200× 200 до 100× 100 пикселов. Использование значения contain свойства background-size масштабирует изображение таким образом, чтобы оно заполняло контейнер, изображение будет увеличиваться или уменьшаться пропорционально, ширина и высота не будут превышать размеры контейнера (см. рисунок 29). Рисунок 29 – Использование значения background-size: contain При использовании значения cover свойства background-size изображение будет масштабироваться так, чтобы заполнить весь контейнер, если пропорции элемента и картинки разные, то картинка будет обрезана, как это видно на рисунке 30. Рисунок 30 – Использование значения background-size: cover Background-origin Свойство background-origin определяет область позиционирования фонового рисунка. Это свойство не работает, если значением background-attachment является fixed. Принимаемые значения: padding-box - фон позиционируется относительно края элемента, линия границы не будет перекрывать изображение (см. рисунок 31); border-box - фон позиционируется относительно границы, при этом линия границы может заслонять изображение; content-box- фон позиционируется относительно левого верхнего угла содержимого элемента.
Background-clip Данное свойство определяет, как цвет фона или фоновое изображение будут выводиться под границами элемента. Эффект будет виден только при использовании прозрачных или прерывистых границ. Принимаемые значения: padding-box - фон отображается внутри элемента, не затрагивая границ (см. рисунок). border-box - фон выводится под границами (см рисунок ). content-box - фон отображается только внутри контента (см. рисунок). Значений может быть несколько, если фоновых рисунков не один, при этом значения должны разделяться между собой запятой.
Объединение свойств фона В составе рекомендации CSS содержится объединенное свойство background, которое дает возможность указать все свойства фона в едином стилевом правиле. Можно указывать значения следующих свойств: bасkgrоund-color, bасkgrоund-image, bасkgrоund-repeat, bасkgrоund-origin, bасkgrоund-position, bасkgrоund-clip, background-size и background-attachment. Пример: body {background: url(superstar.gif) fixed top center no-repeat; } div.intro {background: repeat-x url(topborder.gif) red; } p {background: #336600; } Значения разделяются пробелами и могут располагаться в любом порядке. Любое из значений можно пропустить (оставить по умолчанию). Если имеется необходимость задать размер изображения свойством background-size, то он указывается через символ / (слэш) после указания позиции изображения свойством background-position, например: background: 50px 30px/100px 300px no-repeat url(images/image1.jpg); Здесь задано неповторяющееся фоновое изображение, расположенное с отступом по горизонтали 50px, по вертикали - 30px, размера 100 на 300 пикселей. Замечание. 1.Обратите внимание, что размер изображения указывается только в паре с указанием начальной позиции, а при указании начальной позиции не обязательно указывать в паре размер изображения. 2. В случае, когда фоновых изображений несколько, все они со своими параметрами перечисляются в свойстве background через запятую, при этом вначале располагается картинка, которая будет выводиться верхней, а последней - самая нижняя картинка. Пример. Ниже задано несколько фонов с указанием позиции и повторяемости. Они масштабируются с помощью списка значений, разделенных запятыми, идущих в том же порядке. background: url(" sheep.png" ) 60% 90% no-repeat, url(" sheep.png" ) 40% 50% no-repeat, url(" sheep.png" ) 10% 20% no-repeat #393; background-size: 240px 210px, auto, 150px; Использование градиентов Градиент - плавный переход между двумя или более указанными цветовыми оттенками, как это видно на рисунке 36. Рисунок 36 – Градиентный переход цветов Ранее для того, чтобы создать градиентную заливку, следовало использовать фоновые изображения. Теперь это можно сделать, используя CSS3: градиент генерируется браузером непосредственно под указанную область. Градиент является не цветом, а фоновым изображением, создаваемым браузером, поэтому он используется как значение свойства background-image. Также градиент можно указывать везде, где можно вставлять фоновое изображение, например, в свойствах list-style-image и background. ВCSS3 можно создать два типа градиентов: · Линейный градиент (linear gradient) - плавный переход от цвета к цвету по прямой линии. · Радиальный градиент (radial gradient) - плавный переход от цвета к цвету из одной точки по всем направлениям. Линейный градиент создаётся с помощью функции linear-gradient(), которая принимает следующие аргументы: · Градус угла или ключевые слова, определяющие угол направления линии градиента (необязательный аргумент). · Список цветов, разделяемых запятыми, за каждым из которых может следовать стоп - позиция. В следующем простейшем градиенте используются только два цвета: background-image: linear-gradient(red, yellow); При передаче функции двух аргументов устанавливается вертикальный градиент с начальной точкой сверху, как это видно на рисунке 37. Рисунок 37 – Простейший градиентный переход цветов Направление линии градиента может быть определено двумя способами: 1. Указание угла наклона градиентной линии, который показывает направление градиента. Вначале пишется положительное или отрицательное значение угла, затем к нему слитно добавляется deg: Нулю градусов (или 360º ) соответствует градиент направления снизу вверх, далее отсчёт ведётся по часовой стрелке. Нулю градусов (или 360º ) соответствует градиент направления снизу вверх, далее отсчёт ведётся по часовой стрелке. 2. В качестве первого аргумента могут указываться ключевые слова to top, to right, to bottom или to left, которые соответствуют линиям градиентов 0deg, 90deg, 180deg, 270deg соответственно. Угол можно также задавать с помощью двух ключевых слов, например, to top right - линия градиента будет направлена в верхний правый угол. После цвета можно указывать стоп - позицию для него, которая определяет положение цвета в градиентном переходе. Стоп - позиция указывается с помощью процентов или других единиц измерения CSS. Например, запись red 0%, green 50%, yellow 100% означает, что градиент начинается с красного цвета, затем на середине переходит в зеленый, а затем - до конца - в жёлтый. 0% и 100% можно не писать: эти значения подразумеваются по умолчанию.
Пример. background: linear-gradient(to top, #b5bdc8, #828c95 36%, #28343b); Значение цвета можно указывать различными способами, принятыми в CSS. Если использовать градиент с прозрачностью в сочетании с фоновым изображением, то можно создавать интересные визуальные эффекты, например: background-image: linear-gradient(to top, transparent, rgba(30, 87, 153, 0.8), rgba(30, 87, 153, 1), rgba(30, 87, 153, 1), rgba(41, 137, 216, 1), rgba(30, 87, 153, 1), rgba(30, 87, 153, 1), rgba(30, 87, 153, 0.8), transparent), url(images/image1.jpg); Результат можно видеть на рисунке 38. Рисунок 38 – Сочетание фонового изображения и градиента Градиент можно масштабировать, используя свойство background-size, что образует чередующиеся градиентные полоски. Можно к одному элементу добавлять несколько фонов, а значит, и градиентов, перечисляя их параметры через запятую. Один из цветов должен быть полупрозрачным, иначе градиенты будут закрывать друг друга. На рисунке 39 показан результат применения двух градиентов, пересекающихся под прямым углом, что в сочетании с background-size создаёт клетки: body { background: linear-gradient(transparent 50%, rgba(0, 186, 0, 0.2) 50%), linear-gradient(90deg, rgba(0, 186, 0, 0.2) 50%, transparent 50%); background-size: 40px 40px; } Рисунок 39 – Использование двух градиентов с полупрозрачными цветами Радиальный градиент создаётся с помощью функции radial-gradient(). Он распространяется из центральной точки градиента во все стороны в форме круга (circle) или эллипса (ellipse). По умолчанию устанавливается эллиптический градиент, и его размер соответствует размеру элемента, к которому он применён. Функция radial-gradient() может принимать следующие аргументы: Ключевые слова и/или единицы измерения CSS, определяющие конечную форму, размер и начальное расположение градиента (необязательный аргумент). Список из двух или более цветов, за каждым из которых может следовать стоп - позиция. Пример простейшего радиального градиента: background-image: radial-gradient(cyan, rgba(0, 186, 0, 0.2)); Форму радиального градиента можно определить с помощью ключевых слов circle или ellipse, указав одно из них в качестве первого аргумента: По умолчанию браузер располагает центральную точку радиального градиента в центре элемента. Центр градиента можно позиционировать с помощью ключевого слова at, за которым располагаются ключевые слова top, left, right, bottom, center или значения в процентах либо единицах измерения CSS: Если указано только одно ключевое слово, второе будет center. Позиционирование градиента указывается до значений цветов, но после ключевого слова, определяющего форму градиента (если оно указано): background-image: radial-gradient(circle at 300px 50px, cyan, indigo, yellow); background-image: radial-gradient(ellipse at 10% 90%, red, orange, yellow); } Размер градиента можно определить с помощью одного из четырёх ключевых словосочетаний: closest-side, closest-corner, farthest-side, farthest-corner (см. таблицу 6) или указания значения радиуса с помощью единиц измерения CSS. Для указания радиуса проценты использовать нельзя. Ключевые слова, определяющие размер градиента, или радиус указываются до или после ключевого слова, определяющего форму, и обязательно до определения позиции. Таблица 6 – Ключевые слова для определения размера радиального градиента
Пример. #example1 {background-image: radial-gradient(circle closest-corner at 100px, cyan 50%, yellow, indigo); } #example2 {background-image: radial-gradient(circle closest-side, cyan, yellow, indigo); } #example3 {background-image: radial-gradient( circle farthest-side at 200px, cyan 50%, yellow, indigo); } #example4 {background-image: radial-gradient(circle farthest-corner at 175px, cyan, yellow, indigo); } Блоковая модель Рассмотрим важное для понимания размещения элементов на странице понятие блоковой модели элемента. Блоковая модель - способ отображения элементов браузерами, при котором все теги обрабатываются как небольшие прямоугольные фрагменты, любой тег рассматривается как контейнер с содержимым: текстом, изображениями, другими тегами и т.д. Для блока можно задать свойства: цвет фона, границу, задать цвет линии границы, задать расстояние между блоком и соседним элементом, а также расстояние между текстом и границей в блоке. Схему блоковой модели можно видеть на рисунке 40. Как видим, в основе блока лежит его содержимое. Содержимое окружает определенный интервал, после чего идет граница, окруженная полями. margin - пустое пространство (поле), которое отделяет один элемент от другого. Область внешнего отступа прозрачна и не имеет собственного цвета и другого оформления. Рисунок 40 –Блоковая модель
border (рамка) - граница элемента. Рамка может быть установлена как со всех сторон элемента, так и с любой отдельной стороны. padding (внутренний отступ) - расстояние между содержимым элемента и его рамкой. Шириной элемента называется только ширина области содержания. Общая ширина элемента будет складываться из ширины интервала, границы и полей, добавленных к этому значению. Width и height Свойства widthи height используются для указания размеров блочного элемента. Свойства width и height не работают для внутристрочных текстовых элементов. Иными словами, нельзя указывать ширину и высоту, например, элемента-анкера а или элемента strong, если только их отображение не изменено на блочное, например, с использованием свойства block, list-item или inline-block. Принимаемые значения: auto - область содержимого будет автоматически растянута по ширине на все свободное место. величина в единицах длины - определяет размеры в единицах измерения CSS. % - Ширина указывается в процентах от ширины области содержимого родительского элемента. inherit – размеры наследуются от родительского элемента. Популярное: |
Последнее изменение этой страницы: 2017-03-09; Просмотров: 661; Нарушение авторского права страницы