refactor 3-more into separate books
This commit is contained in:
parent
bd1d5e4305
commit
87639b2740
423 changed files with 9 additions and 9 deletions
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
|
@ -0,0 +1,75 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<style>
|
||||
|
||||
.gallery li {
|
||||
float: left;
|
||||
width: 130px;
|
||||
|
||||
list-style: none;
|
||||
|
||||
/* красивости */
|
||||
border: 1px solid black;
|
||||
text-align: center;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.gallery li:nth-child(2n) {
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<ul class="gallery">
|
||||
<li>
|
||||
<img src="https://js.cx/carousel/1.png" width="130" height="130">
|
||||
<div>Картинка 1</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<img src="https://js.cx/carousel/2.png" width="130" height="130">
|
||||
<div>Картинка 2</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<img src="https://js.cx/carousel/3.png" width="130" height="130">
|
||||
<div>Картинка 3</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<img src="https://js.cx/carousel/4.png" width="130" height="130">
|
||||
<div>Картинка 4</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<img src="https://js.cx/carousel/5.png" width="130" height="130">
|
||||
<div>Картинка 5</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<img src="https://js.cx/carousel/6.png" width="130" height="130">
|
||||
<div>Картинка 6</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<img src="https://js.cx/carousel/7.png" width="130" height="130">
|
||||
<div>Картинка 7</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<img src="https://js.cx/carousel/8.png" width="130" height="130">
|
||||
<div>Картинка 8</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<img src="https://js.cx/carousel/9.png" width="130" height="130">
|
||||
<div>Картинка 9</div>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,63 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<style>
|
||||
|
||||
.gallery li {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
|
||||
width: 130px;
|
||||
|
||||
list-style: none;
|
||||
|
||||
/* красивости */
|
||||
border: 1px solid black;
|
||||
text-align: center;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.gallery li:nth-child(2n) {
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<ul class="gallery">
|
||||
<li>
|
||||
<img src="https://js.cx/carousel/1.png" width="130" height="130">
|
||||
<div>Картинка 1</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<img src="https://js.cx/carousel/2.png" width="130" height="130">
|
||||
<div>Картинка 2</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<img src="https://js.cx/carousel/3.png" width="130" height="130">
|
||||
<div>Картинка 3</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<img src="https://js.cx/carousel/4.png" width="130" height="130">
|
||||
<div>Картинка 4</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<img src="https://js.cx/carousel/5.png" width="130" height="130">
|
||||
<div>Картинка 5</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<img src="https://js.cx/carousel/6.png" width="130" height="130">
|
||||
<div>Картинка 6</div>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
44
12-css-for-js/4-float/1-inline-block-vs-float/solution.md
Normal file
44
12-css-for-js/4-float/1-inline-block-vs-float/solution.md
Normal file
|
@ -0,0 +1,44 @@
|
|||
# Наводящие вопросы
|
||||
|
||||
<ol>
|
||||
<li>Что произойдёт, если контейнеру `UL` поставить рамку `border` -- в первом и во втором случае?</li>
|
||||
<li>Что будет, если элементы `LI` различаются по размеру? Будут ли они корректно перенесены на новую строку в обоих случаях?</li>
|
||||
<li>Как будут вести себя блоки, находящиеся под галереей?</ul>
|
||||
</ol>
|
||||
|
||||
# Ответы
|
||||
|
||||
Разница колоссальная.
|
||||
|
||||
В первую очередь она в том, что `inline-block` продолжают участвовать в потоке, а `float` -- нет.
|
||||
|
||||
Ответы на вопросы по примеру:
|
||||
|
||||
<dl>
|
||||
<dt>Что будет, если контейнеру `UL` поставить рамку `border`?</dt>
|
||||
<dd>Контейнер не выделяет пространство под `float`. А больше там ничего нет. В результате он просто сожмётся в одну линию сверху.
|
||||
|
||||
Попробуйте сами, добавьте рамку в [edit src="solution"]песочнице[/edit].
|
||||
|
||||
А в случае с `inline-block` всё будет хорошо, т.к. элементы остаются в потоке.
|
||||
</dd>
|
||||
<dt>Что будет, если элементы `LI` различаются по размеру? Будут ли они корректно перенесены на новую строку в обоих случаях?</dt>
|
||||
<dd>При `float:left` элементы двигаются направо до тех пор, пока не наткнутся на границу внешнего блока (с учётом `padding`) или на другой `float`-элемент.
|
||||
|
||||
Может получиться вот так:
|
||||
|
||||
<img src="gallery-float-diffsize.png">
|
||||
|
||||
Вы можете увидеть это, открыв демо-галерею в отдельном окне и изменяя его размер:
|
||||
|
||||
[demo src="gallery-float-diffsize"]
|
||||
|
||||
При использовании `inline-block` таких странностей не будет, блоки перенесутся корректно на новую строку. И, кроме того, можно выровнять элементы по высоте при помощи `li { vertical-align:middle }`:
|
||||
|
||||
[iframe height=500 src="gallery-inline-block" link edit]
|
||||
</dd>
|
||||
<dt>Как будут вести себя блоки, находящиеся под галереей?</dt>
|
||||
<dd>В случае с `float` нужно добавить дополнительную очистку с `clear`, чтобы поведение было идентично обычному блоку.
|
||||
|
||||
Иначе блоки, находящиеся под галереей, вполне могут "заехать" по вертикали на территорию галереи.</dd>
|
||||
</dl>
|
|
@ -0,0 +1,72 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<style>
|
||||
|
||||
.gallery li {
|
||||
float: left;
|
||||
width: 130px;
|
||||
|
||||
list-style: none;
|
||||
|
||||
/* красивости */
|
||||
border: 1px solid black;
|
||||
text-align: center;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<ul class="gallery">
|
||||
<li>
|
||||
<img src="https://js.cx/carousel/1.png" width="130" height="130">
|
||||
<div>Картинка 1</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<img src="https://js.cx/carousel/2.png" width="130" height="130">
|
||||
<div>Картинка 2</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<img src="https://js.cx/carousel/3.png" width="130" height="130">
|
||||
<div>Картинка 3</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<img src="https://js.cx/carousel/4.png" width="130" height="130">
|
||||
<div>Картинка 4</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<img src="https://js.cx/carousel/5.png" width="130" height="130">
|
||||
<div>Картинка 5</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<img src="https://js.cx/carousel/6.png" width="130" height="130">
|
||||
<div>Картинка 6</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<img src="https://js.cx/carousel/7.png" width="130" height="130">
|
||||
<div>Картинка 7</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<img src="https://js.cx/carousel/8.png" width="130" height="130">
|
||||
<div>Картинка 8</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<img src="https://js.cx/carousel/9.png" width="130" height="130">
|
||||
<div>Картинка 9</div>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
16
12-css-for-js/4-float/1-inline-block-vs-float/task.md
Normal file
16
12-css-for-js/4-float/1-inline-block-vs-float/task.md
Normal file
|
@ -0,0 +1,16 @@
|
|||
# Разница inline-block и float
|
||||
|
||||
[importance 5]
|
||||
|
||||
Галерея изображений состоит из картинок в рамках с подписями (возможно, с другой дополнительной информацией).
|
||||
|
||||
Пример галереи:
|
||||
[iframe src="solution" link edit].
|
||||
|
||||
Технически вывод такой галереи можно реализовать при помощи списка UL/LI, где:
|
||||
<ol>
|
||||
<li>каждый LI имеет `display:inline-block`</li>
|
||||
<li>каждый LI имеет `float:left`</li>
|
||||
</ol>
|
||||
|
||||
**Какие различия между этими подходами? Какой вариант выбрали бы вы?**
|
Loading…
Add table
Add a link
Reference in a new issue