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-fixed
sınıfında genişlik ve yükseklik için sabit değerler belirtilir.width-height-percent
sı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-padding
sınıfında hemmargin
hem depadding
belirtilmiştir. Kesin sınırın dışındamargin
boşluğu ve kesin sınırın içindepadding
boşluğu vardır.margin-only
sınıfında yalnızcamargin
belirtilmiştir. Mavi alanın, kesin sınırın içindepadding
boşluğu olmadığından,margin-padding
sınıfına kıyasla daha küçük olduğunu görebilirsiniz.no-margin
sınıfında hemmargin
hem depadding
0 olarak ayarlanmıştır. Mavi alanın tamamen sola itildiğini görebilirsiniz, çünkü kesin sınırın dışındamargin
boş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-box
sınıfında, öğenin genişliği 360px'dir.width
300px'dir, sol ve sağpadding
toplamı 40px ve sol ve sağborder
toplamı 20px olup, toplamda 360px eder.border-box
içinde, öğenin genişliği 300px'dir.padding
veborder
, belirtilenwidth
değ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-box
kullanımı düzeni sabitleştirir.padding
veyaborder
eklemek 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-box
kullanı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 öğeninwidth
veheight
değerlerinepadding
veborder
'ın dahil edilip edilmeyeceğini kontrol eder.border-box
kullanı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
visible
belirtildiğinde öğe görüntülenir. Bu varsayılan değerdir.
hidden
hidden
belirtildiğinde öğe gizlenir ancak düzen alanı korunur.
collapse
collapse
genellikle 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,
hidden
gibi davranır ve düzen alanı korunur.
inherit
inherit
belirtildiğ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.