Ostatnia aktualizacja: 21.04.2016

Wymiary elementów ustalane są za pomocą właściwości szerokość (szerokość) i wysokość (wysokość).

Domyślną wartością tych właściwości jest auto , co oznacza, że ​​przeglądarka określa szerokość i wysokość elementu. Możesz też jawnie ustawić wymiary, używając jednostek (pikseli, em) lub wartości procentowych:

Szerokość: 150px szerokość: 75% wysokość: 15em;

Piksele określają dokładną szerokość i wysokość. Jednostka em zależy od wysokości czcionki w elemencie. Jeśli rozmiar czcionki elementu wynosi na przykład 16 pikseli, to 1 em dla tego elementu będzie miał 16 pikseli. Oznacza to, że jeśli szerokość elementu jest ustawiona na 15em, to w rzeczywistości będzie to 15 * 16 = 230 pikseli. Jeśli element nie ma zdefiniowanego rozmiaru czcionki, zostanie on pobrany z parametrów dziedziczonych lub wartości domyślnych.

Wartości procentowe dla właściwości width są obliczane na podstawie szerokości elementu kontenera. Jeśli na przykład szerokość elementu body na stronie internetowej wynosi 1000 pikseli, a element w nim zagnieżdżony

ma szerokość 75%, to rzeczywista szerokość tego bloku
to 1000 * 0,75 = 750 pikseli. Jeśli użytkownik zmieni rozmiar okna przeglądarki, zmieni się również szerokość elementu body i odpowiednio szerokość zagnieżdżonego bloku div.

Wartości procentowe dla właściwości height działają podobnie do właściwości width, tylko teraz wysokość liczona jest od wysokości elementu kontenera.

Na przykład:

Wymiary w CSS3

Jednocześnie rzeczywiste wymiary elementu mogą się różnić od tych ustawionych we właściwościach szerokości i wysokości. Na przykład:

Wymiary w CSS3

Jak widać na zrzucie ekranu, w rzeczywistości wartość właściwości width - 200px - określa tylko szerokość wewnętrznej zawartości elementu, a pod blokiem samego elementu zostanie przydzielona przestrzeń, której szerokość jest równa szerokości zawartości wewnętrznej (właściwość szerokości) + padding (właściwość padding) + szerokość obramowania (właściwość border-width) + marginesy (właściwość margines). Oznacza to, że element będzie miał szerokość 230 pikseli, a szerokość bloku elementu z uwzględnieniem marginesów wyniesie 250 pikseli.

Takie obliczenia należy wziąć pod uwagę przy określaniu wymiarów elementów.

Używając dodatkowy zestaw właściwości, możesz ustawić minimalne i maksymalne rozmiary:

    min-szerokość : minimalna szerokość

    max-szerokość : maksymalna szerokość

    min-wysokość: minimalna wysokość

    max-height : maksymalna wysokość

minimalna szerokość: 200px szerokość:50%; maksymalna szerokość: 300px

W tym przypadku szerokość elementu jest równa 50% szerokości elementu kontenera, jednak nie może być mniejsza niż 200 pikseli i większa niż 300 pikseli.

Nowa definicja szerokości bloku

Właściwość box-sizing pozwala nadpisać ustawione rozmiary elementów. Może przyjąć jedną z następujących wartości:

    content-box : Domyślna wartość właściwości, w której przeglądarka dodaje szerokość obramowania i dopełnienie do wartości właściwości width i height , aby określić rzeczywistą szerokość i wysokość elementów

    padding-box: informuje przeglądarkę internetową, że szerokość i wysokość elementu powinny zawierać dopełnienie jako część swojej wartości. Załóżmy na przykład, że mamy następujący styl:

    Szerokość: 200px wysokość: 100px; margines: 10px wypełnienie: 10px obramowanie: stałe 5px #ccc; kolor tła: #eee; rozmiar pudełka: padding-box;

    Tutaj rzeczywista szerokość wewnętrznej zawartości bloku będzie wynosić 200px (szerokość) - 10px (padding-lewo) - 10px (padding-right) = 180px.

    Warto zauważyć, że większość nowoczesne przeglądarki nie obsługują tej właściwości.

    border-box: mówi przeglądarce internetowej, że szerokość i wysokość elementu powinny zawierać dopełnienie i obramowanie jako część swojej wartości. Załóżmy na przykład, że mamy następujący styl:

    Szerokość: 200px wysokość: 100px; margines: 10px wypełnienie: 10px obramowanie: stałe 5px #ccc; kolor tła: #eee; rozmiar pudełka: obramowanie-pudełko;

    Tutaj rzeczywista szerokość wewnętrznej zawartości bloku będzie wynosić 200px (szerokość) - 10px (padding-left) - 10px (padding-right) - 5px (border-left-width) - 5px (border-right-width) = 170px.

Na przykład zdefiniujmy dwa pudełka, które różnią się tylko wartością właściwości box-sizing:

Wymiary w CSS3

Określanie rzeczywistego rozmiaru w CSS 3
Określanie rzeczywistego rozmiaru w CSS 3

W pierwszym przypadku, przy określaniu wielkości bloku, do grubości obramowania zostaną dodane właściwości szerokości i wysokości, a także dopełnienie i dopełnienie, więc pierwszy blok będzie duży.

Opis

Ustawia wysokość bloku lub elementów wymiennych (na przykład tag ). Wysokość nie uwzględnia grubości obramowań wokół elementu, wartości dopełnienia i marginesów.

Jeśli zawartość bloku przekroczy określoną wysokość, to wysokość elementu pozostanie niezmieniona, a zawartość będzie wyświetlana na nim. Ta funkcja może powodować nakładanie się zawartości elementu, gdy elementy są sekwencyjne w kodzie HTML. Aby temu zapobiec, dodaj overflow : auto do stylu elementu.

Składnia

wysokość: wartość | zainteresowanie | auto | dziedziczyć

Wartości

Wartości to dowolna jednostka długości akceptowana w CSS, taka jak piksele (px), cale (in), punkty (pt) itp. W przypadku notacji procentowej wysokość elementu jest obliczana w zależności od wysokości elementu nadrzędnego . Jeśli rodzic nie jest wyraźnie określony, okno przeglądarki działa jako rodzic. auto ustawia wysokość na podstawie zawartości elementu

HTML5 CSS2.1 IE Cr Op Sa Fx

wzrost

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

Wynik ten przykład pokazano na ryc. jeden.

Ryż. 1. Zastosowanie właściwości wysokości

Model obiektowy

document.getElementById("identyfikator elementu ").style.height

Przeglądarki

Przeglądarka Internet Explorer 6 błędnie definiuje wysokość jako min-wysokość .

W trybie dziwactwa Internet Explorer do wersji 8.0 włącznie niepoprawnie oblicza wysokość elementu bez dodawania do niego dopełnienia, marginesów i obramowań.

Internet Explorer do wersji 7.0 nie obsługuje wartości dziedziczenia.

Domyślnie elementy blokowe używają automatycznej szerokości. Oznacza to, że element zostanie rozciągnięty w poziomie dokładnie tak samo, jak jest. wolna przestrzeń. Wysokość elementów blokowych jest domyślnie ustawiana automatycznie, tj. przeglądarka rozciąga obszar zawartości w kierunku pionowym, aby wyświetlić całą zawartość. Aby ustawić niestandardowe rozmiary dla obszaru zawartości elementu, możesz użyć właściwości width i height.

Właściwość CSS width pozwala ustawić szerokość obszaru zawartości elementu, a właściwość height pozwala ustawić wysokość obszaru zawartości:

Zwróć uwagę, że właściwości width i height definiują tylko rozmiar obszaru zawartości. Aby obliczyć całkowitą szerokość elementu blokowego, dodaj szerokość obszaru zawartości, lewe i prawe dopełnienie oraz szerokość lewej i prawej krawędzi . To samo dotyczy całkowitej wysokości elementu, tylko wszystkie wartości są obliczane w pionie:

Nazwa dokumentu

W tym akapicie ustaw tylko szerokość i wysokość.

Ten akapit zawiera, oprócz szerokości i wysokości, wcięcie, obramowanie i wysunięcie.

Próbować "

Przykład wyraźnie pokazuje, że drugi element zajmuje więcej miejsca niż pierwszy. Jeśli obliczymy według naszego wzoru, to wymiary pierwszego akapitu to 150x100 pikseli, a wymiary drugiego akapitu to:


Całkowita wysokość:5px+ 10px+ 100px+ 10px+ 5px= 130px
górny
rama
górny
akapit
wzrost niżej
akapit
niżej
rama

tj. 180x130 pikseli.

przepełnienie elementu

Po zdefiniowaniu szerokości i wysokości elementu należy zwrócić uwagę na jeden ważny punkt - zawartość znajdująca się wewnątrz elementu może przekraczać określony rozmiar bloku. W takim przypadku część treści wyjdzie poza granice elementu, aby uniknąć tego nieprzyjemnego momentu, możesz użyć Właściwość CSS przelewowy. przepełnienie nieruchomości informuje przeglądarkę, co zrobić, jeśli zawartość bloku przekroczy swój rozmiar. Ta właściwość może przyjmować jedną z czterech wartości:

  • widoczny jest domyślną wartością używaną przez przeglądarkę. Określenie tej wartości będzie miało taki sam skutek, jak nieustawienie właściwości przepełnienia.
  • scroll — dodaje do elementu pionowe i poziome paski przewijania.
  • auto — w razie potrzeby dodaje paski przewijania.
  • hidden - ukrywa część zawartości, która wykracza poza granice elementu blokowego.
Nazwa dokumentu

W tym artykule przyjrzymy się, jak w CSS można ustawić wysokość bloku jako procent jego szerokości. Zastosowanie tej technologii rozważymy na przykładzie tworzenia karuzeli Bootstrap (suwaka) z obrazów o różnych rozmiarach.

Tworzenie bloku o wysokości, która ma określony procent jego szerokości

  1. Utwórz strukturę HTML z 2 bloków:
    Pierwszy blok ma 2 klasy. Korzystając z klasy reagującej na element, ustawmy blok na pozycjonowanie względne. Należy to zrobić w celu wykonania bloku 2 (który będzie miał pozycjonowanie bezwzględne) znajduje się względem niego. Ponadto ta klasa jest również używana do dodawania pseudoelementu:before przed zawartością odpowiednich elementów (element responsywny). Ten element ustawi żądaną wysokość bloku w stosunku do jego szerokości za pomocą właściwości CSS padding-top. Sztuczka Ta metoda jest tak, że jeśli właściwość padding jest ustawiona na wartość nie w pikselach, ale w procentach, to zostanie obliczone przez przeglądarkę w stosunku do jej szerokości. W ten sposób możesz uzyskać blok o wymaganej wysokości. Następnym krokiem jest nadanie blokowi 2 pozycji bezwzględnej i wyrównanie go z pierwszym blokiem.
  2. Dodaj następujący kod CSS do strony: .item-responsive ( position: relative; /* względne pozycjonowanie */ ) .item-responsive:before ( display: block; /* wyświetli element jako blok */ content: "" ; /* pseudoelement zawartości */ width: 100%; /* szerokość elementu */ ) .item-16by9 ( padding-top: 56,25%; /* (9:16)*100% */ ) .item-responsywny >.content ( position: absolute; /* bezwzględne położenie elementu */ /* położenie elementu */ top: 0; left: 0; right: 0; bottom: 0; ) /* Opcjonalnie (dla bloków, które mają te klasy) */ .item -4by3 ( padding-top: 75%; /* (3:4)*100% */ ) .item-2by1 ( padding-top: 50%; /* (1:2)* 100% */ ) .item -1x1 ( padding-top: 100%; /* (1:1)*100% */ )

Zastosowanie powyższej technologii podczas tworzenia karuzeli Bootstrap

Jeśli nie znasz Bootstrap i chcesz wiedzieć, co to jest, możesz skorzystać z artykułu Wprowadzenie do Bootstrap.

Rozważmy przykład, w którym wykorzystamy powyższą strukturę HTML i kod CSS do wyświetlenia slajdów karuzeli Bootstrap.

Jako obrazy użyjemy następujących plików:

  • carousel_1.jpg (szerokość = 736px, wysokość = 552px, proporcje (wysokość do szerokości) = 1,33);
  • carousel_2.jpg (szerokość = 1155px, wysokość = 1280px, proporcje (wysokość do szerokości) = 0,9);
  • carousel_3.jpg (szerokość = 1846px, wysokość = 1028px, proporcje (wysokość do szerokości) = 1,8);
  • carousel_4.jpg (szerokość = 1140px, wysokość = 550px, proporcje (wysokość do szerokości) = 2,07);
  • carousel_5.jpg (szerokość = 800px, wysokość = 600px, proporcje (wysokość do szerokości) = 1,33);

Obrazy zostaną ustawione jako tło. Dzięki temu karuzela Bootstrap 3 będzie mogła używać obrazów o różnych proporcjach.


Znacznik HTML karuzeli:

Kod CSS karuzeli:

Element-responsywny ( position: względny; /* pozycjonowanie względne */ ) .item-responsive:before ( display: block; /* wyświetla element jako blok */ content: ""; /* zawartość pseudoelementu */ width: 100 %; /* szerokość elementu */ ) .item-16by9 ( padding-top: 56,25%; /* (9:16)*100% */ ) .item-responsive>.content ( pozycja: bezwzględna; /* bezwzględny element position * / /* pozycja elementu */ top: 0; left: 0; right: 0; bottom: 0; background-size: cover !important; )



Większość elementów w HTML ma zazwyczaj określoną wysokość i szerokość. Ustawienie tych parametrów w CSS jest dość proste, a co za tym idzie praktyczne. Służą do tego znane już właściwości wysokości i szerokości. Jednak w tej lekcji porozmawiamy o niestałej szerokości i wysokości lub gumie, czyli w zależności od szerokości samego okna. Zacznijmy)

szerokość

Ta właściwość określa specyficzną Szerokość HTML element. Wartość można podać w pikselach, procentach (inne wartości są używane rzadziej).

Mój blok (
szerokość: 400px /* szerokość 400px */

}
Lub jako procent:

MójProcent Bloku50 (
szerokość: 50% /* szerokość 50% pola lub szerokości okna (jeśli nie znajduje się w polu o stałej szerokości) */
kolor: #f1f1f1; /* jasnoszary blok */
}
W związku z tym otrzymujemy blok, który zawsze będzie miał połowę szerokości rodzica.

Teraz o najciekawszych. szerokość ma parametry określające maksymalną lub minimalną szerokość. Są to odpowiednio właściwości min-width i max-width. Możesz również określić dla nich wartości w pikselach, procentach i innych wartościach. Te właściwości są podstawą do tworzenia projektów gumowych i adaptacyjnych ().

Przykład projekt adaptacyjny . Spójrz, zmieniając rozmiar okna przeglądarki:

Oczywiście skaczę przed siebie. Ale musisz zrozumieć, czego i dlaczego potrzebujesz. Tak i dotknij przyjemnego rezultatu)

Jak już zrozumiałeś, za pomocą tych właściwości możesz bardziej elastycznie obsługiwać elementy na stronie bez zniekształcania treści. Jak to działa? Rozważmy kod.

Blok (
maksymalna szerokość: 800px
kolor tła: #f1f1f1; /* jasnoszary blok */
wypełnienie: 20px
}
Blok z tymi właściwościami o szerokości rodzica 200 pikseli przyjmie odpowiednią wartość, ale jeśli blok rodzica jest większy, na przykład 1000 pikseli, to już przyjmie swoją maksymalną szerokość, czyli 800 pikseli. Oznacza to, że będzie się zwiększać, aż szerokość bloku nadrzędnego wyniesie 801 pikseli lub więcej. Ponadto blok blokowy zawsze będzie miał maksymalną dozwoloną szerokość 800px.

wzrost

Ta właściwość odpowiada za wysokość elementu. Jako wartość używane są wszystkie te same odpowiednie dla CSS. Najczęściej te same wartości procentowe i piksele.

informacje (
wysokość: 200px; /* wysokość bloku wyniesie 200px */
wypełnienie: 10px /* powtórz o dopełnianiu wewnątrz bloku =) */
}
Co jest logiczne, dla wysokości możesz określić minimalną i maksymalną wartość wysokości dla elementu z odpowiednio właściwościami min-height i max-height.

informacje (
maksymalna wysokość: 360px /* maksymalna wysokość bloku */
min-wysokość: 120px; /* minimalna wysokość bloku */
}
Jak widać, właściwości mogą i często powinny być używane w parach.
Lub połącz wartości:

Zawartość(
wzrost: 100%; /* wysokość zawsze będzie wynosić 100% */
szerokość: 760px /* ale szerokość jest ustalona na 760px */
}
Jeśli masz jakieś pytania, napisz w komentarzach!

Dziękuję za uwagę! Powodzenia w układzie!)