Skip to content

Commit c5f5b28

Browse files
Docs(MD): Added interview questions and answers
1 parent 3425dab commit c5f5b28

File tree

1 file changed

+176
-1
lines changed

1 file changed

+176
-1
lines changed

README.md

Lines changed: 176 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,181 @@
8888

8989
<details>
9090

91-
<summary>6. </summary>
91+
<summary>6. Що таке «модель коробки» (box model) в CSS і як її можна змінити?</summary>
9292

93+
- «Модель коробки» (box model) визначає, як розміри елемента розраховуються в CSS. Вона складається з:
94+
95+
- **Content:** Вміст елемента (текст, зображення).
96+
- **Padding:** Внутрішній відступ між вмістом і рамкою.
97+
- **Border:** Рамка навколо padding.
98+
- **Margin:** Зовнішній відступ між елементом і сусідніми елементами.
99+
100+
- Розрахунок ширини та висоти:
101+
102+
- За замовчуванням:
103+
104+
```css
105+
Width/Height = Content + Padding + Border
106+
```
107+
108+
- Зміна моделі коробки:
109+
110+
- Використовуйте властивість box-sizing:
111+
112+
1. content-box (за замовчуванням):
113+
114+
- Ширина/висота включає лише вміст. Padding і border додаються до загального розміру.
115+
116+
```css
117+
box-sizing: content-box;
118+
```
119+
120+
2. border-box:
121+
122+
- Ширина/висота включають вміст, padding і border (зручніше для макетів).
123+
124+
```css
125+
box-sizing: border-box;
126+
```
127+
128+
- Приклад:
129+
130+
```css
131+
* {
132+
box-sizing: border-box;
133+
}
134+
```
135+
136+
- Це допомагає уникнути помилок у розмітці.
137+
</details>
138+
139+
<details>
140+
<summary>7. Що таке CSS?</summary>
141+
142+
- Різниця між margin і padding:
143+
144+
1. Розташування:
145+
146+
- `margin` створює зовнішній відступ між елементом і сусідніми елементами.
147+
- `padding` створює внутрішній відступ між вмістом елемента і його рамкою (border).
148+
149+
2. Вплив на фон:
150+
151+
- `margin` не впливає на фон елемента; простір залишається прозорим.
152+
- `padding` є частиною елемента, тому фон розтягується на область padding.
153+
154+
3. Колізія (margin collapsing):
155+
156+
- `margin` сусідніх блоків може "зливатися" в один (найбільший).
157+
- `padding` не зливається; завжди додається до внутрішнього простору.
158+
159+
- Приклад:
160+
161+
```css
162+
div {
163+
margin: 20px; /* Відступ від інших елементів */
164+
padding: 20px; /* Відступ між вмістом і рамкою */
165+
background-color: lightblue;
166+
}
167+
```
168+
169+
</details>
170+
171+
<details>
172+
<summary>8. Що таке Flexbox?</summary>
173+
174+
- Flexbox (Flexible Box Layout) — це CSS-модель розташування елементів, яка забезпечує гнучке вирівнювання та розподіл простору в межах контейнера, навіть якщо розміри елементів невідомі або змінюються.
175+
176+
- **Основні поняття:**
177+
178+
- **Flex-контейнер:** Батьківський елемент, на який застосовується `display: flex;`.
179+
- **Flex-елементи:** Дочірні елементи flex-контейнера.
180+
181+
- **Основні властивості Flexbox:**
182+
183+
1. Для контейнера:
184+
185+
- `flex-direction`: Напрямок розташування елементів (`row`, `row-reverse`, `column`, `column-reverse`).
186+
- `justify-content`: Горизонтальне вирівнювання елементів (`flex-start`, `center`, `space-between`, `space-around`, `space-evenly`).
187+
- `align-items`: Вертикальне вирівнювання елементів (`stretch`, `center`, `flex-start`, `flex-end`, `baseline`).
188+
- `align-content`: Вирівнювання рядків у багаторядковому контейнері (`stretch`, `center`, `space-between`).
189+
- `flex-wrap`: Дозволяє елементам переноситися (`nowrap`, `wrap`, `wrap-reverse`).
190+
191+
2. Для елементів:
192+
193+
- `flex-grow`: Як елемент збільшується вільним простором.
194+
- `flex-shrink`: Як елемент зменшується при нестачі простору.
195+
- `flex-basis`: Базовий розмір елемента перед розподілом простору.
196+
- `align-self`: Вирівнювання конкретного елемента всередині контейнера.
197+
198+
- Приклад:
199+
200+
```css
201+
.container {
202+
display: flex;
203+
justify-content: center;
204+
align-items: center;
205+
}
206+
207+
.item {
208+
flex: 1; /* Рівний розподіл простору */
209+
}
210+
```
211+
212+
</details>
213+
214+
<details>
215+
<summary>9. Що таке Grid?</summary>
216+
217+
- CSS Grid — це потужна система розмітки, яка дозволяє створювати двовимірні сітки для розташування елементів як по горизонталі, так і по вертикалі.
218+
219+
- **Основні поняття:**
220+
221+
- **Grid-контейнер:** Елемент, на який застосовується `display: grid;`.
222+
- **Grid-елементи:** Дочірні елементи grid-контейнера.
223+
- **Лінії сітки:** Вертикальні та горизонтальні межі, що ділять сітку на осередки.
224+
- **Треки:** Рядки (`rows`) і колонки (`columns`).
225+
- **Області:** Прямокутні зони, об'єднані з кількох осередків.
226+
227+
- **Основні властивості Grid:**
228+
229+
1. Для контейнера:
230+
231+
- `grid-template-rows`, `grid-template-columns`: Задають кількість і розміри рядків та колонок.
232+
- `grid-template-areas`: Іменовані області для організації елементів.
233+
- `gap` (або `row-gap/column-gap`): Відступи між рядками та колонками.
234+
- `justify-items`, `align-items`: Вирівнювання елементів у клітинках.
235+
- `justify-content`, `align-content`: Вирівнювання всієї сітки в контейнері.
236+
237+
2. Для елементів:
238+
239+
- `grid-column`, `grid-row`: Позиціювання по колонках і рядках.
240+
- `grid-area`: Розміщення в іменованій області.
241+
- `place-self`: Індивідуальне вирівнювання елемента.
242+
243+
- Приклад:
244+
245+
```css
246+
.container {
247+
display: grid;
248+
grid-template-columns: 1fr 2fr; /* Дві колонки: 1 частина та 2 частини */
249+
grid-template-rows: 100px auto; /* Рядок фіксованої висоти і автоматичний */
250+
gap: 10px;
251+
}
252+
253+
.item1 {
254+
grid-column: 1 / 3; /* Займає дві колонки */
255+
}
256+
257+
.item2 {
258+
grid-row: 2; /* Розташований у другому рядку */
259+
}
260+
```
261+
262+
</details>
263+
264+
<details>
265+
<summary>10. </summary>
266+
267+
- CSS (Cascading Style Sheets) — це мова стилів, яка використовується для опису зовнішнього вигляду веб-сторінок, створених за допомогою HTML або XML.
93268
</details>

0 commit comments

Comments
 (0)