Av-gr.ru

Двери декор
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Таблицы стилей для веба Советы и хитрости по CSS

Таблицы стилей для веба Советы и хитрости по CSS

Указывать длину в CSS можно в разных единицах. Некоторые из них пришли из типографской традиции, как пункт ( pt ) и пика ( pc ), другие, напр. сантиметр ( cm ) и дюйм ( in ), знакомы нам в повседневном обиходе. Есть и «волшебная» единица, придуманная специально для CSS: px . Значит ли это, что для разных свойств нужны разные единицы?

Нет, единицы измерения не имеют отношения к свойствам, но имеют прямое отношение к средствам отображения: экран или бумага.

Любые единицы измерения можно использовать где угодно. Свойство со значением в пикселях ( margin: 5px ) также допускает и значения в дюймах или сантиметрах ( margin: 1.2in; margin: 0.5cm ), и наоборот.

Соотношение между абсолютными единицами таково: 1in = 2.54cm = 25.4mm = 72pt = 6pc

Если у вас есть под рукой линейка, можете проверить точность своего устройства. Вот прямоугольник высотой 1 дюйм (2.54cm): ↑
72pt

Так называемые абсолютные единицы ( cm , mm , in , pt и pc ) в CSS означают то же самое, что и везде, но только если у устройства вывода достаточно высокое разрешение. На лазерном принтере 1cm должен быть точно равен 1 сантиметру. Но на устройствах низкого разрешения, вроде компьютерных экранов, CSS этого не требует. И вправду, разные устройства и разные реализации CSS норовят отобразить их по-разному. Лучше оставить эти единицы для устройств высокого разрешения, в частности для печати. На компьютерных экранах и мобильных устройствах может получиться не то, что ожидалось.

В прошлом CSS требовал, чтобы абсолютные единицы отображались правильно даже на компьютерных экранах. Но поскольку неправильных реализаций было больше, чем правильных, и никаких улучшений не предвиделось, в 2011-м CSS отказался от этого требования. Сейчас абсолютные единицы обязаны работать правильно только при выводе на печать и на устройствах высокого разрешения.

CSS не уточняет, что именно понимается под «высоким разрешением». Но так как у дешевых принтеров сегодня бывает не менее 300 точек на дюйм, а у хороших экранов порядка 200 точек на дюйм, граница, скорее всего, проходит где-то между этими значениями.

Еще одна причина не использовать абсолютные единицы где-либо, кроме печати: на разные экраны мы смотрим с разного расстояния. 1 сантиметр на экране настольного компьютера выглядит маленьким. Но на мобильном экране прямо перед глазами — это много. Лучше вместо них использовать относительные единицы, напр. em .

Единицы em и ex зависят от размера шрифта и могут быть свои для каждого элемента в документе. Единица em — просто размер шрифта. В элементе, которому задан шрифт в 2in, 1em и означает эти 2in. Указание размеров (напр., для отступов) в em означает, что они задаются относительно шрифта, и какой бы ни был шрифт у пользователя — крупный (напр. на большом экране) или мелкий (напр. на мобильном устройстве), эти размеры останутся пропорциональными. Объявления наподобие text-indent: 1.5em и margin: 1em в CSS крайне популярны.

Единица ex используется нечасто. В ней выражаются размеры, которые должны отсчитываться от x-высоты шрифта. X-высота — это, грубо говоря, высота строчных букв вроде a , c, m, или o. У шрифтов с одинаковым размером (и, соответственно, при одинаковом em ) может быть огромная разбежка в размерах строчных букв, и если важно, чтобы какая-то картинка, например, соответствовала x-высоте, единица ex к вашим услугам.

Единица px в CSS волшебная. Она не связана с текущим шрифтом, но и с физическими сантиметрами или дюймами обычно тоже не связана. Единица px определена как что-то маленькое, но видимое, т.е. горизонтальную линию толщиной 1px можно было отобразить с четкими краями (без сглаживания). Что считается четким, маленьким и видимым, зависит от устройства и способа пользования им: держите ли вы его прямо перед глазами, как мобильный телефон, на расстоянии вытянутой руки, как монитор, или где-то на промежуточном расстоянии, как электронную книгу? Поэтому px по определению не фиксированная длина, а нечто, зависящее от типа устройства и его обычного использования.

Чтобы понять, почему единица px именно такая, представьте ЭЛТ-монитор из 1990-х: наименьшая точка, которую он мог отобразить, была размером примерно в 1/100 дюйма (0,25 мм) или чуть больше. Свое название единица px получила от тех экранных пикселей.

Нынешние устройства в принципе могут отображать и более мелкие четкие точки (хотя их может быть трудно разглядеть без лупы). Но документы из прошлого века, которые использовали px в CSS, независимо от устройства выглядят по-прежнему. Принтеры, в особенности, могут отображать четко отображать линии гораздо тоньше 1px, но даже на принтерах линия в 1px выглядит почти так же, как выглядела бы на мониторе. Устройства меняются, но единица px всегда выглядит одинаково.

На самом деле CSS требует, чтобы 1px был точно равен 1/96 дюйма при любом выводе на печать. В CSS считается, что принтерам, в отличие от экранов, не нужны разные размеры для px , чтобы отображать четкие линии. Поэтому при печати px не только одинаково выглядит независимо от устройства, но и заведомо измеряется одной и той же величиной (совсем как единицы c m , pt , mm , in и pc , как объяснялось выше).

CSS также определяет, что растровые изображения (напр. фотографии) по умолчанию отображаются в масштабе 1 пиксель изображения на 1px. Фотография разрешением 600 на 400 будет 600px шириной и 400px высотой. Тем самым пиксели фотографии привязываются не к пикселям устройства вывода (которые могут быть очень мелкими), а к единицам px . Это позволяет точно совмещать изображения с другими элементами документа, при условии, что вы используете в своих стилях единицы px , а не pt , cm и т.д.

Используйте em или px для шрифтов

Единицы pt (пункт) and pc (пика) CSS получил в наследство от печатного дела. Там традиционно применялись эти и подобные единицы, а не сантиметры или дюймы. В CSS незачем использовать pt , пользуйтесь любой единицей на свой выбор. Но есть хорошая причина не использовать ни pt , ни других абсолютных единиц, а использовать только em и px .

Вот несколько линий разной толщины. Некоторые из них могут казаться четкими, но как минимум линии в 1px и 2px должны быть четкими и видимыми:

0.5pt, 1px, 1pt, 1.5px, 2px

Если первые четыре линии выглядят одинаковыми (либо линия в 0.5pt пропала), скорее всего вы видите это на мониторе, не способном отображать точки мельче 1px. Если линии выглядят возрастающими по толщине, скорее всего вы видите эту страницу на качественном экране или на бумаге. А если 1pt выглядит толще, чем 1.5px, то это скорее всего экран мобильного устройства (похоже, последняя фраза описывает ситуацию до правки 2011 года — прим. перев.).

Волшебная единица CSS, px , часто бывает удачным выбором, особенно если нужно выровнять текст с картинками, либо просто потому, что что-либо толщиной 1px (или кратной 1px) заведомо будет выглядеть четко.

Но размеры шрифтов еще лучше задавать в em . Идея в том, чтобы 1) не задавать размер шрифта для элемента BODY (в HTML), а использовать размер шрифта по умолчанию для устройства, поскольку это наиболее удобный для читателя размер; и 2) указывать размеры шрифта других элементов в em : H1 , чтобы H1 был в 2½ раза крупнее основного шрифта страницы.

Едиственное место, где можно использовать pt (либо cm или in ) для размера шрифтов — стили для печати, если нужно, чтобы напечатанный шрифт был строго определенного размера. Но даже там чаще всего лучше использовать размер шрифта по умолчанию.

Таким образом, единица px избавляет от необходимости знать разрешение устройства. Независимо от разрешения устройства вывода (96 dpi, 100 dpi, 220 dpi или 1800 dpi), длина, указанная в виде целого числа px , всегда выглядит хорошо и везде достаточно похоже. Но что, если мы хотим узнать разрешение устройства, например, чтобы решить, можно ли использовать линию в 0.5px ? Выход — проверить разрешение с помощью медиавыражений. Подробности о медиавыражениях — за рамками этой статьи, но вот небольшой пример:

Новые единицы измерения в CSS

Чтобы было еще проще писать стилевые правила, зависящие только от размера шрифта по умолчанию, с 2013 года в CSS есть новая единица: rem . Один rem (от «root em», т.е. «корневой em» или «em корневого элемента») — это размер шрифта корневого элемента в документе. В отличие от em , который может быть для каждого элемента свой, rem для всего документа один и тот же. Например, чтобы задать элементам P и H1 одинаковый внешний отступ слева, вот для сравнения CSS-код до 2013 года:

Благодаря другим новым единицам стало можно указывать размеры относительно окна пользователя. Это vw и vh . Единица vw — 1/100 ширины окна, а vh — 1/100 его высоты. Еще есть vmin , соответствующая меньшему из vw и vh . И vmax (можете догадаться, что она делает).

Поскольку они новые, они еще работают не везде. Но к началу 2015 года многие браузеры уже их поддерживали.

Навигация по сайту

Bert Bos, style activity lead
Copyright © 1994–2021 W3C ® Privacy policy

Как правильно записать размеры длина ширина высота

Размеры элементов задаются с помощью свойств width (ширина) и height (высота).

Значение по умолчанию для этих свойств — auto , то есть браузер сам определяет ширину и высоту элемента. Можно также явно задать размеры с помощью единиц измерения (пикселей, em) или с помощью процентов:

Пиксели определяют точные ширину и высоту. Единица измерения em зависит от высоты шрифта в элементе. Если размер шрифта элемента, к примеру, равен 16 пикселей, то 1 em для этого элемента будет равен 16 пикселям. То есть если у элемента установить ширину в 15em, то фактически она составит 15 * 16 = 230 пикселей. Если же у элемента не определен размер шрифта, то он будет взят из унаследованных параметров или значений по умолчанию.

Процентные значения для свойства width вычисляются на основании ширины элемента-контейнера. Если, к примеру, ширина элемента body на веб-странице составляет 1000 пикселей, а вложенный в него элемент <div> имеет ширину 75%, то фактическая ширина этого блока <div> составляет 1000 * 0.75 = 750 пикселей. Если пользователь изменит размер окна браузера, то ширина элемента body и соответственно ширина вложенного в него блока div тоже изменится.

Процентные значения для свойства height работают аналогично свойству width, только теперь высота вычисляется по высоте элемента-контейнера.

Ширина и высота в CSS 3

В то же время фактические размеры элемента могут в итоге отличаться от тех, которые установлены в свойствах width и height . Например:

Фактические размеры в CSS 3

Как видно на скриншоте, в реальности значение свойства width — 200px — определяет только ширину внутреннего содержимого элемента, а под блок самого элемента будет выделяться пространство, ширина которого равна ширине внутреннего содержимого (свойство width) + внутренние отступы (свойство padding) + ширина границы (свойство border-width) + внешние отступы (свойство margin). То есть элемент будет иметь ширину в 230 пикселей, а ширина блока элемента с учетом внешних отступов составит 250 пикселей.

Подобные расчеты следует учитывать при определении размеров элементов.

С помощью дополнительного набора свойств можно установить минимальные и максимальные размеры:

min-width : минимальная ширина

max-width : максимальная ширина

min-height : минимальная высота

max-height : максимальная высота

В данном случае ширина элемента равна 50% ширины элемента-контейнера, однако при этом не может быть меньше 200 пикселей и больше 300 пикселей.

Переопределение ширины блока

Свойство box-sizing позволяет переопределить установленные размеры элементов. Оно может принимать одно из следующих значений:

content-box : значение свойства по умолчанию, при котором браузер для определения реальных ширины и высоты элементов добавляет берет соответственно значения свойств width и height элемента

В данном случае элемент будет иметь ширину в 200 пикселей и высоту в 100 пиксей.

padding-box : указывает веб-браузеру, что ширина и высота элемента должны включать внутренние отступы как часть своего значения. Например, пусть у нас есть следующий стиль:

Здесь реальная ширина внутреннего содержимого блока будет равна 200px (width) — 10px (padding-left) — 10px (padding-right) = 180px.

Стоит отметить, что большинство современных браузеров не поддерживают данное свойство.

border-box : указывает веб-браузеру, что ширина и высота элемента должны включать внутренние отступы и границы как часть своего значения. Например, пусть у нас есть следующий стиль:

Здесь реальная ширина внутреннего содержимого блока будет равна 200px (width) — 10px (padding-left) — 10px (padding-right) — 5px (border-left-width) — 5px (border-right-width) = 170px.

Например, определим два блока, которые отличаются только значением свойства box-sizing:

В первом случае при определении размеров блока к свойствам width и height будут добавляться толщина границы, а также внутренние и внешние отступы, поэтому первый блок будет иметь большие размеры:

Width и height: определяем размеры элемента

Для того чтобы объекту можно было задать определенную ширину и высоту, в CSS существуют два свойства — width и height (соответственно). С их помощью вы можете устанавливать фиксированные размеры элементов, будь-то сайдбар, изображение, таблица или любой блок.

Особенности вычисления ширины и высоты

Для определения ширины либо высоты объекта можно использовать любые единицы измерения длины в CSS. Наиболее просты в понимании пикселы. Если вы используете процентную запись, имейте в виду, что в этом случае ширина объекта будет зависеть от ширины его родителя. Если такового нет, то ширина элемента вычисляется, исходя из ширины окна браузера (при изменении пользователем ширины окна значение width будет пересчитано).

В качестве значения ширины можно использовать и единицу em , которая является примерно тем же, чем и размер шрифта текста, но только в условных единицах. К примеру, вы установили размер для шрифта 24px . Тогда 1em для этого элемента будет равен 24 пикселам, а если вы зададите width: 2em , то ширина составит 2×24px = 48 пикселов. Если размер шрифта не задан, он будет унаследован.

Высота height , заданная в процентах, вычисляется аналогичным образом, что и ширина, но расчет основывается уже на высоте родительского элемента, а не на его ширине. Если родитель отсутствует, высота будет зависеть от высоты окна браузера.

Высота и ширина CSS в процентах

Процентная ширина и высота дочернего элемента вычисляются на основании размеров родителя

Что входит в ширину и высоту

Сразу стоит запомнить, что у свойств width и height есть особенность — они не включают в себя значения margin , padding и border . Значение, которое вы установите для width/height, будет означать лишь ширину/высоту области содержимого элемента.

Таким образом, для того чтобы вычислить, например, фактическую ширину элемента (место, которое он в действительности займет на экране), понадобится немного арифметики. Фактическая ширина — это сумма значений, таких как width , padding , border и margin . Напомним, что ранее мы рассматривали, как выглядит блочная модель CSS.

Для закрепления знаний покажем пример. Допустим, у вас есть элемент с таким стилем:

Для подсчета фактической ширины элемента выполним сложение:

width + margin-left + margin-right + padding-left + border-left = 200px + 15px + 15px + 10px + 3px = 243px (фактическая ширина)

Рекомендации по высоте

Свойство height может быть удобным, если надо точно контролировать, например, высоту изображения. Однако, если в контейнере будет содержаться текст или любой другой контент, у которого может варьироваться высота, крайне не рекомендуется устанавливать фиксированную высоту для контейнера, так как подобная верстка может привести к неожиданному результату — контент будет отображаться поверх другого содержимого.

Вместо фиксированной высоты использовать height: auto — эта запись означает, что высота объекта будет рассчитываться автоматически, в зависимости от содержимого, которое он содержит.

Другой способ избежать развала верстки — использовать запись overflow: auto . В таком случае, если высота содержимого будет превышать значение height своего контейнера, браузер добавит к контейнеру полосу прокрутки.

Высота CSS

В следующем уроке вы узнаете, как можно переопределять ширину элемента с помощью интересного и очень полезного свойства box-sizing.

Как правильно рассчитать тюль на окно в ширину и длину

Окно, оформленное красивыми сборками и складками – это чистая математика. Потому что без нее легко ошибиться с размерами гардин и портьер и купить лишний материал – кстати, часто недешевый. Поэтому предлагаем запастись терпением и прочитать эту статью, как рассчитать тюль в ширину.

Портьеры и тюль часто продают готовыми отрезками, на которые пришиты петли и декор. Вот только подходят такие отрезы тканей для стандартных окон. А если вам нужно оформить французское окно в пол на террасу? Или шторы давно просит арочное окно в кухне? Или хотите поменять портьеры в зале своего загородного дома? Все реально, и в этом случае вам придет на помощь индивидуальный пошив. И вот здесь пламенного дизайнера вытесняет холодный математик – нужно посчитать, сколько материала потребуется для штор в длину и ширину.

С длиной все более или менее просто: достаточно померить высоту потолка, отнять высоту гардин – получить примерный результат.

С шириной все немного сложнее: она зависит от количества складок на материале, типа крепления, длины карниза и т.д.

Как точно рассчитать ширину тюли

Расскажем по порядку, как точно рассчитать ширину тюли в зависимости от разных факторов.

По карнизу

Ширина тюли зависит от длины карниза – поэтому сначала определитесь с его параметрами. В среднем карниз должен выступать по обеим сторонам окна на 15 сантиметров слева и справа. Есть и нестандартные окна – например, слишком узкие на широких стенах и наоборот. В этом случае длину карниза можно уменьшить или увеличить – 5-7 сантиметров вполне допустимая цифра. Длина получившегося карниза – и есть минимальная ширина ваших штор в расправленном виде.

Примерный расчет выглядит так: стандартные окна имеют ширину 3 метра, и минимальная ширина полотна должна быть 4,5 метра – если цифра будет меньше, окно будет выглядеть не лучшим образом. Максимальный метраж – 9 метров, такая ширина смотрится роскошно, но по мнению некоторых, слишком вычурно. Так что рекомендуем выбирать средний вариант.

Тип расположения полотна

Для расчета, сколько нужно тюли, необходимо знать, как она будет располагаться вдоль окна – свободно висеть на всей его площади или собираться в две складки по краям окна. Если вы рассматриваете классический первый вариант расположения тюли в складку, то длину карниза нужно умножить на 1,5. Второй вариант более демократичный и подразумевает свободу творчества – все зависит от того, насколько пышными будут складки ваших штор.

Чтобы правильно выбрать тюль по размеру, нужно представлять, как именно будут располагаться шторы – сколько на них будет складок, насколько пышными они будут. Есть даже такое понятие – коэффициент пышности, которое определяет, сколько складок будет иметь гардина.

Есть три уровня этого коэффициента:

минимальный – 1:1,5 – например, для карниза длиной 3 метра подойдет занавеска шириной 4,5 метра,

средний – 1:2 – для окна в 3 метра нужно материала на 6 метров – получается элегантно оформленное окно с красивыми складками, здесь же можно использовать тесьму, которая поможет сделать складки одинаковыми,

максимальный – 1:3 – для окна в 3 метра нужно 9 метров ткани. Шторы, оформленные таким образом, выглядят роскошно, а большой запас ткани позволяет создать любые складки. Лучше всего такой способ оформления выглядит на тюли или органзе простого рисунка – если на ткани будет сложное изображение, например, гобелен – складки скроют все богатство красок.

Материал и назначение штор

Плотные портьеры, которые блокируют солнечный свет, обычно закрывают все окно, поэтому их ширина равна длине карниза, плюс для свободы действий и возможности полного закрытия добавляют по 20 сантиметров с обеих сторон.

Чем плотнее шторы, тем меньше должно быть складок – иначе они будут перекрывать свет даже тогда, когда портьеры открыты. Да и выглядят такие тяжелые складки не лучшим образом. А вот если тканью для гардин выбраны тюль или органза, их складок должно быть побольше – это не перегрузит окно, наоборот, придаст легкости и изящества всей комнате.

Тюль в гостиной

Форма окна

Со стандартными окнами проще – а вот с окнами необычной геометрической формы придется повозиться. Для углового окна или окна в форме эркер нужно добавлять по 10 сантиметров на каждый изгиб и угол.

Тюль на окне эркер

Способ крепления

Количество тюли и коэффициент собранности зависят и от способа крепления штор. К примеру, для люверсов – пластиковых или металлических колец, которые часто используются для балконных окон, лучше брать материала в два раза больше, чем длина карниза. В этом случае складки получатся благородными и пышными. Если материал тяжелый, легкие и прочные люверсы легко справятся с его передвижением по всей длине карниза.

Самый популярный способ крепления штор – петли. Материал прикрепляется на штангу с помощью текстильных петель или специальных завязок – смотрится лаконично и универсально. Для таких креплений достаточно подобрать ткани в 1,5 раза больше, чем длина карниза. Более частые и мелкие крепления обеспечат небольшие и аккуратные складочки.

Тип тесьмы

Ширина материала для штор зависит и от типа тесьмы – ленты, которая создает ровные складочки по всей поверхности портьеры.

К примеру, для гардинной ленты, которая создает небольшие рюши по всей ширине, нужно взять ткани в два раза больше длины карниза.

Если вы выбрали тесьму, которая создает буфы – пышные складки – лучше взять ткани в 2,5 раза больше.

Карандашные складки – ровные и продолговатые – потребуют для получения ширины штор умножить длину карниза на 1,5.

Для тройных складок, или гусиных лапок, ширину штор нужно удвоить.

Чтобы выбрать ширину тюли, обращайте внимание на упаковку тесьмы – на шторной ленте обычно указывают коэффициент сборки, который она дает. Универсальный показатель – 2,5, он подходит для всех типов штор и их материалов.

Главное – не торопитесь с выбором. Присмотритесь к выбранному материалу, посмотрите интерьерные фотографии с участием таких штор, выберите нужный вариант драпировки – и вперед в магазин! Опытные консультанты помогут вам в этой нелегкой математике.

голоса
Рейтинг статьи
Читайте так же:
Чистка мебели горячим паром
Ссылка на основную публикацию
Adblock
detector