Последна актуализация: 21.04.2016
Размерите на елементите се задават с помощта на свойствата width (ширина) и height (височина).
Стойността по подразбиране за тези свойства е auto, което означава, че браузърът определя ширината и височината на елемента. Можете също изрично да зададете размери, като използвате единици (пиксели, ems) или проценти:
Ширина: 150px ширина: 75% височина: 15em;
Пикселите определят точната ширина и височина. Единицата em зависи от височината на шрифта в елемента. Ако размерът на шрифта на даден елемент е например 16 пиксела, тогава 1 em за този елемент ще бъде 16 пиксела. Тоест, ако ширината на елемента е зададена на 15em, тогава всъщност ще бъде 15 * 16 = 230 пиксела. Ако елементът няма дефиниран размер на шрифта, той ще бъде взет от наследените параметри или стойностите по подразбиране.
Процентните стойности за свойството ширина се изчисляват въз основа на ширината на контейнерния елемент. Ако, например, ширината на елемента body на уеб страница е 1000 пиксела и елементът, вложен в него
Процентните стойности за свойството височина работят подобно на свойството ширина, само че сега височината се изчислява от височината на контейнерния елемент.
Например:
В същото време действителните размери на елемента може да се окажат различни от зададените в свойствата за ширина и височина. Например:
Както можете да видите на екранната снимка, в действителност стойността на свойството width - 200px - определя само ширината на вътрешното съдържание на елемента, а под блока на самия елемент ще бъде разпределено пространство, чиято ширина е равна на ширината на вътрешното съдържание (свойство width) + подложка (свойство padding) + ширина на границата (свойство border-width) + полета (свойство margin). Тоест елементът ще има ширина 230 пиксела, а ширината на елементния блок, като се вземат предвид полетата, ще бъде 250 пиксела.
Такива изчисления трябва да се вземат предвид при определяне на размерите на елементите.
Като се използва допълнителен комплектсвойства, можете да зададете минималните и максималните размери:
min-width : минимална ширина
max-width : максимална ширина
min-height : минимална височина
max-height : максимална височина
В този случай ширината на елемента е равна на 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:
В първия случай, при определяне на размера на блока, свойствата за ширина и височина ще бъдат добавени към дебелината на границата, както и подложка и подложка, така че първият блок ще бъде голям.
Описание
Задава височината на блок или сменяеми елементи (например таг ). Височината не включва дебелината на границите около елемента, стойността на подложката и полетата.
Ако съдържанието на блока надвишава зададената височина, тогава височината на елемента ще остане непроменена и съдържанието ще се покаже върху него. Тази функция може да доведе до припокриване на съдържанието на елемента, когато елементите са последователни в HTML кода. За да предотвратите това да се случи, добавете overflow : auto към стила на елемента.
Синтаксис
височина: стойност | интерес | авто | наследяват
Стойности
Стойностите приемат всякакви CSS единици за дължина, като пиксели (px), инчове (in), точки (pt) и т.н. Когато използвате процентно означение, височината на елемент се изчислява въз основа на височината на родителския елемент. Ако родителят не е изрично посочен, тогава прозорецът на браузъра действа като родител. auto задава височината въз основа на съдържанието на елемента
HTML5 CSS2.1 IE Cr Op Sa Fx
Резултат този примерпоказано на фиг. един.
Ориз. 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 въртележка (плъзгач) от изображения с различни размери.
Създаване на блок с височина, която има определен процент от неговата ширина
- Създайте HTML структура от 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 пиксела */
}
Ако имате въпроси, пишете в коментарите!
Благодаря за вниманието! Успех в оформлението!)