Последна актуализация: 21.04.2016

Размерите на елементите се задават с помощта на свойствата width (ширина) и height (височина).

Стойността по подразбиране за тези свойства е auto, което означава, че браузърът определя ширината и височината на елемента. Можете също изрично да зададете размери, като използвате единици (пиксели, ems) или проценти:

Ширина: 150px ширина: 75% височина: 15em;

Пикселите определят точната ширина и височина. Единицата em зависи от височината на шрифта в елемента. Ако размерът на шрифта на даден елемент е например 16 пиксела, тогава 1 em за този елемент ще бъде 16 пиксела. Тоест, ако ширината на елемента е зададена на 15em, тогава всъщност ще бъде 15 * 16 = 230 пиксела. Ако елементът няма дефиниран размер на шрифта, той ще бъде взет от наследените параметри или стойностите по подразбиране.

Процентните стойности за свойството ширина се изчисляват въз основа на ширината на контейнерния елемент. Ако, например, ширината на елемента body на уеб страница е 1000 пиксела и елементът, вложен в него

има ширина 75%, тогава действителната ширина на този блок
е 1000 * 0,75 = 750 пиксела. Ако потребителят промени размера на прозореца на браузъра, тогава ширината на елемента body и съответно ширината на вложения блок div също ще се промени.

Процентните стойности за свойството височина работят подобно на свойството ширина, само че сега височината се изчислява от височината на контейнерния елемент.

Например:

Размери в CSS3

В същото време действителните размери на елемента може да се окажат различни от зададените в свойствата за ширина и височина. Например:

Размери в CSS3

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

Такива изчисления трябва да се вземат предвид при определяне на размерите на елементите.

Като се използва допълнителен комплектсвойства, можете да зададете минималните и максималните размери:

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

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

    min-height : минимална височина

    max-height : максимална височина

мин. ширина: 200px ширина:50%; максимална ширина: 300px

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

Предефиниране на ширината на блока

Свойството box-sizing ви позволява да замените зададените размери на елементите. Може да приема една от следните стойности:

    content-box : Стойността по подразбиране на свойството, в която браузърът добавя ширината на границата и подложката към стойностите на свойствата на ширината и височината, за да определи действителната ширина и височина на елементите

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

    Ширина: 200px височина: 100px; поле: 10px подложка: 10px рамка: 5px плътен #ccc; цвят на фона: #eee; оразмеряване на кутията: подложка-кутия;

    Тук действителната ширина на вътрешното съдържание на блока ще бъде 200px (ширина) - 10px (подложка-ляво) - 10px (подложка-дясно) = 180px.

    Заслужава да се отбележи, че повечето модерни браузърине поддържат тази собственост.

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

    Ширина: 200px височина: 100px; поле: 10px подложка: 10px рамка: 5px плътен #ccc; цвят на фона: #eee; оразмеряване на кутията: border-box;

    Тук действителната ширина на вътрешното съдържание на блока ще бъде 200px (ширина) - 10px (padding-left) - 10px (padding-right) - 5px (border-left-width) - 5px (border-right-width) = 170 пиксела.

Например, нека дефинираме две кутии, които се различават само по стойността на свойството box-sizing:

Размери в CSS3

Определяне на действителния размер в CSS 3
Определяне на действителния размер в CSS 3

В първия случай, при определяне на размера на блока, свойствата за ширина и височина ще бъдат добавени към дебелината на границата, както и подложка и подложка, така че първият блок ще бъде голям.

Описание

Задава височината на блок или сменяеми елементи (например таг ). Височината не включва дебелината на границите около елемента, стойността на подложката и полетата.

Ако съдържанието на блока надвишава зададената височина, тогава височината на елемента ще остане непроменена и съдържанието ще се покаже върху него. Тази функция може да доведе до припокриване на съдържанието на елемента, когато елементите са последователни в HTML кода. За да предотвратите това да се случи, добавете overflow : auto към стила на елемента.

Синтаксис

височина: стойност | интерес | авто | наследяват

Стойности

Стойностите приемат всякакви CSS единици за дължина, като пиксели (px), инчове (in), точки (pt) и т.н. Когато използвате процентно означение, височината на елемент се изчислява въз основа на височината на родителския елемент. Ако родителят не е изрично посочен, тогава прозорецът на браузъра действа като родител. auto задава височината въз основа на съдържанието на елемента

HTML5 CSS2.1 IE Cr Op Sa Fx

височина

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.

Резултат този примерпоказано на фиг. един.

Ориз. 1. Прилагане на свойството височина

Обектен модел

document.getElementById("elementID ").style.height

Браузъри

Браузър Internet Explorer 6 неправилно дефинира височината като min-height.

В quirk режим Internet Explorer до и включително версия 8.0 изчислява неправилно височината на елемент, без да добавя подложки, полета и граници към него.

Internet Explorer до версия 7.0 не поддържа наследената стойност.

По подразбиране блоковите елементи използват автоматична ширина. Това означава, че елементът ще бъде разтегнат хоризонтално точно толкова, колкото е. свободно пространство. Височината на блоковите елементи се задава автоматично по подразбиране, т.е. браузърът разтяга областта на съдържанието във вертикална посока, така че да се показва цялото съдържание. За да зададете персонализирани размери за областта на съдържанието на даден елемент, можете да използвате свойствата за ширина и височина.

Свойството CSS width ви позволява да зададете ширината на областта на съдържанието на даден елемент, а свойството height ви позволява да зададете височината на областта на съдържанието:

Обърнете внимание, че свойствата за ширина и височина дефинират само размера на областта на съдържанието, за да изчислите общата ширина на елемент на ниво блок, трябва да добавите ширината на областта на съдържанието, лявата и дясната подложка и ширината на лява и дясна граница. Същото важи и за общата височина на елемента, само всички стойности се изчисляват вертикално:

Името на документа

За този параграф задайте само ширината и височината.

Този абзац съдържа, в допълнение към ширината и височината, отстъп, граница и отстъп.

Опитвам "

Примерът ясно показва, че вторият елемент заема повече място от първия. Ако изчислим по нашата формула, тогава размерите на първия абзац са 150x100 пиксела, а размерите на втория абзац са:


Обща височина:5px+ 10px+ 100 пиксела+ 10px+ 5px= 130px
горен
кадър
горен
отстъп
височина нисък
отстъп
нисък
кадър

т.е. 180x130 пиксела.

препълване на елемент

След като сте определили ширината и височината на елемента, трябва да обърнете внимание на един важен момент - съдържанието, разположено вътре в елемента, може да надвишава определения размер на блока. В този случай част от съдържанието ще излезе извън границите на елемента, за да избегнете този неприятен момент, можете да използвате CSS свойствопрепълване. свойство за преливанеказва на браузъра какво да прави, ако съдържанието на блока надвишава неговия размер. Това свойство може да приема една от четирите стойности:

  • visible е стойността по подразбиране, използвана от браузъра. Посочването на тази стойност ще има същия ефект като ненастройването на свойството за препълване.
  • scroll - Добавя вертикални и хоризонтални ленти за превъртане към елемент.
  • auto - Добавя ленти за превъртане, ако е необходимо.
  • скрит - скрива част от съдържанието, което излиза извън границите на блоковия елемент.
Името на документа

В тази статия ще разгледаме как в CSS можете да зададете височината на блок като процент от неговата ширина. Ще разгледаме приложението на тази технология, като използваме примера за създаване на Bootstrap въртележка (плъзгач) от изображения с различни размери.

Създаване на блок с височина, която има определен процент от неговата ширина

  1. Създайте HTML структура от 2 блока:
    Първият блок има 2 класа. Използвайки класа, отговарящ на елемента, нека зададем относително позициониране на блока. Това трябва да се направи, за да може блок 2 (който ще има абсолютно позициониране) се намира спрямо него. В допълнение, този клас се използва и за добавяне на псевдо-елемента:before преди съдържанието на съответните елементи (item-responsive). Този елемент ще зададе желаната височина на блока спрямо неговата ширина с помощта на CSS свойството padding-top. Трик този методе, че ако свойството padding е зададено на стойността не в пиксели, а като процент, тогава ще се изчисли от браузъра спрямо ширината му. По този начин можете да получите блок с необходимата височина. Следващата стъпка е да дадете на блок 2 абсолютна позиция и да го подравните с първия блок.
  2. Добавете следния CSS код към страницата: .item-responsive ( position: relative; /* относително позициониране */ ) .item-responsive:before ( display: block; /* показване на елемента като блок */ content: "" ; /* съдържателен псевдоелемент */ ширина: 100%; /* ширина на елемента */ ) .item-16by9 ( padding-top: 56.25%; /* (9:16)*100% */ ) .item-responsive >.content ( position: absolute; /* абсолютна позиция на елемента */ /* позиция на елемента */ top: 0; left: 0; right: 0; bottom: 0; ) /* По избор (за блокове, които имат тези класове) */ .item -4by3 ( подложка-отгоре: 75%; /* (3:4)*100% */ ) .item-2by1 ( подложка-отгоре: 50%; /* (1:2)* 100% */ ) .item -1by1 ( padding-top: 100%; /* (1:1)*100% */ )

Прилагане на горната технология при създаване на Bootstrap карусел

Ако не сте запознати с Bootstrap и искате да знаете какво представлява, можете да използвате статията Introduction to Bootstrap.

Нека разгледаме пример, в който ще използваме горната HTML структура и CSS код за показване на слайдове с въртележка на Bootstrap.

Ще използваме следните файлове като изображения:

  • carousel_1.jpg (ширина = 736px, височина = 552px, съотношение на страните (височина към ширина) = 1,33);
  • carousel_2.jpg (ширина = 1155px, височина = 1280px, съотношение на страните (височина към ширина) = 0,9);
  • carousel_3.jpg (ширина = 1846px, височина = 1028px, съотношение на страните (височина към ширина) = 1,8);
  • carousel_4.jpg (ширина = 1140px, височина = 550px, съотношение на страните (височина към ширина) = 2,07);
  • carousel_5.jpg (ширина = 800px, височина = 600px, съотношение на страните (височина към ширина) = 1,33);

Изображенията ще бъдат зададени като фон. Това ще позволи на въртележката Bootstrap 3 да използва изображения с различни пропорции.


Карусел HTML маркиране:

CSS код на Carousel:

Item-responsive (position: relative; /* относително позициониране */) .item-responsive:before ( display: block; /* display element as block */ content: ""; /* псевдо-елемент съдържание */ width: 100 %; /* ширина на елемента */ ) .item-16by9 ( padding-top: 56.25%; /* (9:16)*100% */ ) .item-responsive>.content ( позиция: абсолютна; /* абсолютен елемент позиция * / /* позиция на елемент */ отгоре: 0; отляво: 0; отдясно: 0; отдолу: 0; размер на фона: корица !важно; )



Повечето елементи в HTML обикновено имат определена височина и ширина. Задаването на тези параметри в CSS е доста лесно и в резултат на това практично. За това се използват вече познатите ви свойства за височина и ширина. В този урок обаче ще говорим за нефиксирана ширина и височина или гума, тоест в зависимост от ширината на самия прозорец. Да започваме)

ширина

Това свойство задава специфичен HTML ширинаелемент. Стойността може да бъде посочена в пиксели, проценти (други стойности се използват по-рядко).

Моят блок (
ширина: 400px /* ширина 400px */

}
Или като процент:

MyBlockPercent50 (
ширина: 50% /* ширина 50% от ширината на кутията или прозореца (ако не е в кутия с фиксирана ширина) */
цвят: #f1f1f1; /* светлосив блок */
}
Съответно получаваме блок, който винаги ще бъде половината от ширината на родителя.

Сега за най-интересното. width има параметри, които определят максималната или минималната ширина. Това са съответно свойствата min-width и max-width. Можете също да посочите стойности за тях в пиксели, проценти и други стойности. Тези свойства са в основата на създаването на гумени и адаптивни дизайни ().

Пример адаптивен дизайн . Вижте, преоразмеряване на прозореца на браузъра:

Аз, разбира се, изпреварвам себе си. Но трябва да разберете какво и защо имате нужда. Да, и докоснете приятен резултат)

Както вече разбрахте, с помощта на тези свойства можете по-гъвкаво да обработвате елементи на страницата, без да изкривявате съдържанието. Как работи? Нека разгледаме кода.

Блокиране (
максимална ширина: 800px
цвят на фона: #f1f1f1; /* светлосив блок */
подложка: 20px
}
Блок с тези свойства с родителска ширина от 200 пиксела ще приеме съответната стойност, но ако родителският блок е по-голям, например 1000 пиксела, тогава той вече ще приеме максималната си ширина, тоест 800 пиксела. Тоест ще се увеличава, докато ширината на родителския блок стане 801 пиксела или повече. Освен това блоковият блок винаги ще има максимална разрешена ширина от 800px.

височина

Това свойство е отговорно за височината на елемента. Като стойност се използват всички същите подходящи за CSS. Най-често същите проценти и пиксели.

инфо(
височина: 200px; /* височината на блока ще бъде 200px */
подложка: 10px /* повторете за подпълването вътре в блока =) */
}
Което е логично, за височината можете да посочите минималната и максималната стойност на височината за елемента със свойствата min-height и max-height, съответно.

инфо(
максимална височина: 360px /* максимална височина на блок */
мин. височина: 120px; /* минимална височина на блок */
}
Както можете да видите, свойствата могат и често трябва да се използват по двойки.
Или комбинирайте стойности:

съдържание(
височина: 100%; /* височината винаги ще бъде 100% */
ширина: 760px /* но ширината е фиксирана на 760 пиксела */
}
Ако имате въпроси, пишете в коментарите!

Благодаря за вниманието! Успех в оформлението!)