Kutu modeli ile ilgili CSS özellikleri
Bu makale, kutu modeli ile ilgili CSS özelliklerini açıklar.
Genişlik, yükseklik ve dış boşluk gibi özelliklerin kullanım alanları ve sözdizimi hakkında bilgi edinebilirsiniz.
YouTube Video
Önizleme için HTML
css-box.html
1<!DOCTYPE html>
2<html lang="en">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>Box Model Related CSS Properties</title>
7 <link rel="stylesheet" href="css-base.css">
8 <link rel="stylesheet" href="css-box.css">
9</head>
10<body>
11 <!-- Header -->
12 <header>
13 <h1>Box Model Related CSS Properties</h1>
14 </header>
15
16 <!-- Main content -->
17 <main>
18 <header>
19 <h2>Box Model Related Properties</h2>
20 </header>
21 <article>
22 <h3>width and height</h3>
23 <section>
24 <header><h4>width: 250px; height: 150px;</h4></header>
25 <section class="sample-view">
26 <div class="width-height-fixed">Fixed size(250px,150px)</div>
27 </section>
28 </section>
29 <section>
30 <header><h4>width: 50%; height: 50%;</h4></header>
31 <section class="sample-view">
32 <div class="width-height-percent">Percentage size(50%,50%)</div>
33 </section>
34 </section>
35 <section>
36 <header><h4>width: min-content; height: min-content;</h4></header>
37 <section class="sample-view">
38 <div class="width-height-min-content">This is an example of min-content.</div>
39 </section>
40 </section>
41 <section>
42 <header><h4>width: max-content; height: max-content;</h4></header>
43 <section class="sample-view">
44 <div class="width-height-max-content">This is an example of max-content.</div>
45 </section>
46 </section>
47 <section>
48 <header><h4>width: fit-content; max-width: 150px;</h4></header>
49 <section class="sample-view">
50 <div class="width-height-fit-content">This is an example of fit-content.</div>
51 </section>
52 </section>
53 </article>
54 <article>
55 <h3>margin and padding</h3>
56 <section style="height: auto;">
57 <h4>Margin & padding</h4>
58 <header><h4>margin: 20px; padding: 15px;</h4></header>
59 <section class="sample-view">
60 <div class="margin-padding">margin & padding</div>
61 </section>
62 </section>
63 <section style="height: auto;">
64 <h4>Margin only(no padding)</h4>
65 <header><h4>margin: 20px; padding: 0;</h4></header>
66 <section class="sample-view">
67 <div class="margin-only">margin only</div>
68 </section>
69 </section>
70 <section style="height: auto;">
71 <h4>No margin & padding example</h4>
72 <header><h4>margin: 0; padding: 0;</h4></header>
73 <section class="sample-view">
74 <div class="no-margin">no margin & padding</div>
75 </section>
76 </section>
77 </article>
78 <article>
79 <h3>box-sizing</h3>
80 <section style="height: auto;">
81 <header><h4>box-sizing: content-box</h4></header>
82 <section class="sample-view">
83 <div style="width: 300px;">width: 300px</div>
84 <div class="content-box">Content Box</div>
85 <div style="width: 360px;">width: 360px</div>
86 </section>
87 </section>
88 <section>
89 <header><h4>box-sizing: border-box</h4></header>
90 <section class="sample-view">
91 <div style="width: 300px;">width: 300px</div>
92 <div class="border-box">Border Box</div>
93 </section>
94 </section>
95 </article>
96 <article>
97 <h3>visibility</h3>
98 <section>
99 <header><h4>visibility: visible</h4></header>
100 <section class="sample-view">
101 <div class="visibility-visible">Visible Box</div>
102 </section>
103 <header><h4>visibility: hidden</h4></header>
104 <section class="sample-view">
105 <div class="visibility-hidden">Hidden Box</div>
106 </section>
107 <header><h4>visibility: collapse</h4></header>
108 <section class="sample-view">
109 <div class="visibility-collapse">Collapsed Box (Hold layout space)</div>
110 </section>
111 <header><h4>HTML</h4></header>
112 <pre><div class="visibility-collapse">Collapsed Box (Hold layout space)</div></pre>
113 <header><h4>visibility: collapse</h4></header>
114 <section class="sample-view">
115 <table style="height: 200px; margin: auto;">
116 <tr class="visibility-collapse">
117 <td>Cell 1 (Remove layout space)</td>
118 </tr>
119 <tr>
120 <td>Cell 2</td>
121 </tr>
122 </table>
123 </section>
124 <header><h4>HTML</h4></header>
125<pre>
126<table style="height: 200px; margin: auto;">
127 <tr class="visibility-collapse">
128 <td>Cell 1 (Remove layout space)</td>
129 </tr>
130 <tr>
131 <td>Cell 2</td>
132 </tr>
133</table>
134</pre>
135 </section>
136 </article>
137 </main>
138</body>
139</html>Kutu Modeli ile İlgili
width ve height Özellikleri
1.width-height-fixed {
2 width: 250px;
3 height: 150px;
4 background-color: lightblue;
5}
6
7.width-height-percent {
8 width: 50%;
9 height: 50%;
10 background-color: lightblue;
11}
12
13.width-height-min-content {
14 width: min-content;
15 height: min-content;
16 background-color: lightblue;
17}
18
19.width-height-max-content {
20 width: max-content;
21 height: max-content;
22 background-color: lightblue;
23}
24
25.width-height-fit-content {
26 width: fit-content;
27 max-width: 150px;
28 background-color: lightblue;
29}width ve height özellikleri, bir öğenin genişliğini ve yüksekliğini belirtmek için kullanılan CSS özellikleridir. Bunlar özellikle blok elemanların, resimlerin, videoların vb. boyutlarını ayarlarken kullanılır.
width-height-fixedsınıfında genişlik ve yükseklik için sabit değerler belirtilir.width-height-percentsınıfında genişlik ve yükseklik için yüzde değerleri belirtilir.
Belirtilen Değerler
width ve height özellikleri aşağıdaki değerlere sahip olabilir.
auto: Varsayılan boyut. Boyutu, üst öğeye göre otomatik olarak ayarlar.- Sabit değerler: Pikseller, yüzdeler veya göreli birimlerde sabit bir genişlik belirtir.(ex:
100px,50%,10rem)- Örneğin,
250pxöğenin boyutunu 250 piksel olarak ayarlar,50%ise üst öğenin boyutunun %50'si olarak ayarlar.
- Örneğin,
min-content: İçeriğin minimum boyutuna uyar.max-content: İçeriğin maksimum boyutuna uyar.fit-content: Öğenin boyutunu, içeriğin boyutuna uygun şekilde ayarlar.
Minimum ve Maksimum Değerlerin Belirlenmesi
min-width, max-width, min-height ve max-height, bir öğenin genişliği ve yüksekliği ile ilgili boyut kısıtlamalarını ayarlamak için kullanılan CSS özellikleridir. Bunları kullanarak, bir öğenin belirli bir boyut aralığında kalmasını sağlayabilirsiniz.
margin ve padding özellikleri
1.margin-padding {
2 margin: 20px; /* Margin outside the element */
3 padding: 15px; /* Padding inside the element */
4 border: 1px solid #333;
5 background-color: lightblue;
6 width: 300px;
7 height: 40px;
8}
9
10.margin-only {
11 margin: 20px; /* Margin outside the element */
12 padding: 0; /* No padding inside the element */
13 border: 1px solid #333;
14 background-color: lightblue;
15 width: 300px;
16 height: 40px;
17}
18
19.no-margin {
20 margin: 0; /* No margin outside the element */
21 padding: 0; /* No padding inside the element */
22 border: 1px solid #333;
23 background-color: lightblue;
24 width: 300px;
25 height: 40px;
26}Margin ve padding, box modelinde elemanların dış ve iç boşluklarını kontrol etmek için CSS'de kullanılan özelliklerdir. Elemanlar arasındaki boşluğu ayarlamak ve görünümleri düzenlemek için kullanılırlar.
margin-paddingsınıfında hemmarginhem depaddingbelirtilmiştir. Kesin sınırın dışındamarginboşluğu ve kesin sınırın içindepaddingboşluğu vardır.margin-onlysınıfında yalnızcamarginbelirtilmiştir. Mavi alanın, kesin sınırın içindepaddingboşluğu olmadığından,margin-paddingsınıfına kıyasla daha küçük olduğunu görebilirsiniz.no-marginsınıfında hemmarginhem depadding0 olarak ayarlanmıştır. Mavi alanın tamamen sola itildiğini görebilirsiniz, çünkü kesin sınırın dışındamarginboşluğu yoktur.
Bu şekilde, margin özelliği bir elemanın dış boşluğunu ayarlayarak elemanlar arasındaki mesafeyi düzenler. Diğer yandan, padding özelliği, bir elemanın iç boşluğunu ayarlayarak içerik ile sınır arasındaki mesafeyi düzenler.
margin özelliği
-
marginözelliği, bir elemanın dış boşluğunu (margin) ayarlar. Birbirine bitişik elemanlar arasında boşluk oluşturmak için kullanılır. Aşağıdaki değerler belirtilebilir:. -
Sabit değerler: Margin boyutunu piksel, göreceli birimler (em, rem) veya yüzde olarak belirtebilirsiniz.(ex:
10px,1em,5%) -
auto: Blok elemanları ortalamak için kullanışlıdır. Genişlik belirtildiğinde, sol ve sağ marginleri otomatik olarak ayarlar. -
Pozitif ve negatif değerler: Pozitif değerler boşluğu genişletirken, negatif değerler elemanları birbirine yaklaştırır.
Kısaltma notasyonu:
1div.one-value {
2 margin: 20px;
3}
4
5div.two-value {
6 /* top-bottom left-right */
7 margin: 10px 5px;
8}
9
10div.three-value {
11 /* top left-right bottom */
12 margin: 10px 5px 15px;
13}
14
15div.four-value {
16 /* top right bottom left */
17 margin: 10px 5px 15px 20px;
18}margin özelliği bir ila dört değer alabilir.
- Tek değer: Tüm kenarlara uygulanır.
- İki değer: İlki üst ve alta, ikincisi sol ve sağa uygulanır.
- Üç değer: Üst, sol ve sağ, alt sırasıyla uygulanır.
- Dört değer: Üst, sağ, alt, sol sırasıyla uygulanır.
padding özelliği
Fonksiyon:
-
paddingözelliği, bir öğenin iç boşluğunu (padding) ayarlar. Bir öğenin içeriği ile kenarlığı arasına boşluk oluşturmak için kullanılır. Aşağıdaki değerler belirtilebilir:. -
Sabit değerler: Padding boyutunu belirtir.(ex:
10px,1em,5%) -
Negatif değerler kullanılamaz. Padding değerleri yalnızca pozitif sayılar olarak belirtilebilir.
Kısaltma notasyonu:
1div.one-value {
2 padding: 20px;
3}
4
5div.two-value {
6 /* top-bottom left-right */
7 padding: 10px 5px;
8}
9
10div.three-value {
11 /* top left-right bottom */
12 padding: 10px 5px 15px;
13}
14
15div.four-value {
16 /* top right bottom left */
17 padding: 10px 5px 15px 20px;
18}margin gibi, birden dört değere kadar belirtebilirsiniz.
- Tek değer: Tüm kenarlara uygulanır.
- İki değer: İlki üst ve alta, ikincisi sol ve sağa uygulanır.
- Üç değer: Üst, sol ve sağ, alt sırasıyla uygulanır.
- Dört değer: Üst, sağ, alt, sol sırasıyla uygulanır.
box-sizing özelliği
1/* Default content-box : 300px + 2 * 20px + 2 * 10px = 360px */
2.content-box {
3 width: 300px;
4 padding: 20px;
5 border: 10px solid blue;
6 box-sizing: content-box;
7 background-color: lightblue;
8}
9
10/* Using border-box */
11.border-box {
12 width: 300px;
13 padding: 20px;
14 border: 10px solid red;
15 box-sizing: border-box;
16 background-color: lightcoral;
17}box-sizing, bir öğenin genişliği ve yüksekliğinin nasıl hesaplandığını kontrol eden bir CSS özelliğidir.
content-boxsınıfında, öğenin genişliği 360px'dir.width300px'dir, sol ve sağpaddingtoplamı 40px ve sol ve sağbordertoplamı 20px olup, toplamda 360px eder.border-boxiçinde, öğenin genişliği 300px'dir.paddingveborder, belirtilenwidthdeğeri içinde yer alır.
box-sizing değerleri
box-sizing için temel olarak iki değer vardır: content-box ve border-box. content-box varsayılan değerdir.
content-box
1.content-box {
2 box-sizing: content-box;
3 width: 200px;
4 padding: 20px;
5 border: 10px solid black;
6}
7/*
8260px = 200px(width) +
920px(padding-left) + 20px(padding-right) +
1010px(border-left) + 10px(border-right)
11*/content-box belirtildiğinde, yalnızca içeriğin genişliği ve yüksekliği width ve height ile ayarlanır. Son boyutu belirlemek için padding ve border eklenir. Başka bir deyişle, width ve height yalnızca içerik alanını ifade eder.
Bu örnekte, belirtilen width 200px'dir, ancak sol ve sağ padding ve border genişlikleri eklendiğinde öğenin nihai gerçek genişliği 260px'dir.
border-box
1.border-box {
2 width: 200px;
3 padding: 20px;
4 border: 10px solid black;
5 box-sizing: border-box;
6}border-box belirtildiğinde, width ve height değerleri padding ve border dahil edilerek hesaplanır. Başka bir deyişle, belirtilen width ve height, içerik, padding ve border toplam boyutu olur.
Bu durumda, belirtilen width 200px olup, padding ve border da dahil olduğundan, öğenin nihai gerçek genişliği 200px olarak kalır. padding ve border bunun içinde ayarlanır.
box-sizing farklılıklarının özeti
| Özellik | Hesaplama Yöntemi | Gerçek Genişlik Hesabı |
|---|---|---|
content-box (varsayılan) |
width yalnızca içeriği ifade eder. padding ve border eklenir. |
width + padding + border |
border-box |
width her şeyi kapsar (içerik, padding, border dahil) |
Belirtilen width olduğu gibi kullanılır. |
box-sizing avantajları
-
border-boxkullanımı düzeni sabitleştirir.paddingveyabordereklemek belirlenen boyutu değiştirmez, hesaplamaları basitleştirir. -
Esnek düzenler oluştururken faydalıdır. Responsive tasarımlarda veya karmaşık düzenlerde, beklenmedik boyut dalgalanmalarını önlemek için sıkça
border-boxkullanılır.
border-box küresel olarak nasıl uygulanır
1*,
2*::before,
3*::after {
4 box-sizing: border-box;
5}CSS'i bu şekilde ayarlayarak, beklenmeyen boyut değişikliklerini önlemek için border-box'ı tüm öğelere uygulayabilirsiniz.
Özet
box-sizing, bir öğeninwidthveheightdeğerlerinepaddingveborder'ın dahil edilip edilmeyeceğini kontrol eder.border-boxkullanımı boyut hesaplamalarını kolaylaştırır ve responsive tasarım için uygundur.
visibility özelliği
1.visibility-visible {
2 visibility: visible;
3}
4
5.visibility-hidden {
6 visibility: hidden;
7}
8
9.visibility-collapse {
10 visibility: collapse;
11}visibility özelliği, öğeleri göstermek veya gizlemek için kullanılır ancak display özelliğinden farklı olarak, öğe gizlense bile düzeni etkiler. Bu yalnızca öğeyi gizler, orijinal pozisyonunu ve boyutunu korur, diğer öğelerin düzenini etkilemez.
Temel Sözdizimi
1element {
2 visibility: value;
3}value: Öğenin görünürlüğünü belirten bir değer.
Değer Türleri
visibilityözelliği aşağıdaki değerlere ayarlanabilir:.
visible
visiblebelirtildiğinde öğe görüntülenir. Bu varsayılan değerdir.
hidden
hiddenbelirtildiğinde öğe gizlenir ancak düzen alanı korunur.
collapse
collapsegenellikle tablo satırları veya sütunları için kullanılır. Öğe görünmez hale gelir ve alanı da göz ardı edilir. Tablo satırlarına veya sütunlarına uygulandığında, gizli satır veya sütunlar düzen düzeninden tamamen kaldırılır.- Ancak, tablo elemanları hariç normal blok veya satır içi elemanlar üzerinde kullanıldığında,
hiddengibi davranır ve düzen alanı korunur.
inherit
inheritbelirtildiğinde, üst öğedenvisibilityözelliği değeri miras alınır.
visibility ve display arasındaki farklar
visibility ve display arasında aşağıdaki farklar bulunmaktadır.
visibility: hiddenöğeyi gizler ancak alanını ve düzenini korur.display: none, öğeyi düzen düzeninden tamamen kaldırır, diğer öğelerin bu alanı doldurmasına izin verir.
Yukarıdaki makaleyi, YouTube kanalımızda Visual Studio Code'u kullanarak takip edebilirsiniz. Lütfen YouTube kanalını da kontrol edin.