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
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:
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:
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ść
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:
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
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:
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.
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
- Utwórz strukturę HTML z 2 bloków:
- 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!)