CSS-те float және margin үйлесімі
Қазір біздің мәтін суреттің сол жағына
жабысып тұр. Осы мәтінді сәл жылжытуға тырысайық.
Ол үшін біздің абзацтарға сол жақ margin
30px деп берейік, ал әке-дивке
- қызыл шекара берейік.
Күтпеген жерде оңға қарай тек әке-дивке жабысқан мәтін ғана жылжиды, ал суретке жабысқан мәтін - жылжымайды:
<div>
<img src="img.png" alt="">
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elitorire.
</p>
<p>
some long text
</p>
</div>
div {
width: 400px;
border: 1px solid red;
text-align: justify;
}
p {
margin-left: 30px;
}
img {
float: left;
}
:
Бұның неге осылай болатынын түсіну үшін, абзацтарға жасыл шекара қосамыз:
<div>
<img src="img.png" alt="">
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elitorire.
</p>
<p>
some long text
</p>
</div>
div {
width: 400px;
border: 1px solid red;
text-align: justify;
}
p {
margin-left: 30px;
border: 1px solid green;
}
img {
float: left;
}
:
Көріп отырғанымыздай, шын мәнінде абзацтар
сол жақ шетінен жылжиды, бірақ суреттен емес,
әке-дивтен жылжиды.
Толығырақ қарау үшін, суретке
opacity арқылы жартылай мөлдірлік қосамыз:
<div>
<img src="img.png" alt="">
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elitorire.
</p>
<p>
some long text
</p>
</div>
div {
width: 400px;
border: 1px solid red;
text-align: justify;
}
p {
margin-left: 30px;
border: 1px solid green;
}
img {
float: left;
opacity: 0.5;
}
:
Енді margin-left-ке реакция бар екені
анық көрініп тұр, бірақ абзацтар шын мәнінде
суреттің астында орналасқан. Жылжытуды алып тастайық,
суреттің жартылай мөлдірлігін қалдырайық:
<div>
<img src="img.png" alt="">
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elitorire.
</p>
<p>
some long text
</p>
</div>
div {
width: 400px;
border: 1px solid red;
text-align: justify;
}
p {
border: 1px solid green;
}
img {
float: left;
opacity: 0.5;
}
:
Біздің абзацтар шын мәнінде осылай көрінеді - олардың мәтіні суретпен ығыстырылған, бірақ физикалық түрде абзацтар суреттің астында жатыр, бұл шекарадан көрініп тұр, ол әке-дивтің сол жақ шетінен басталады.
margin-ті қайтарып, суретті
бірінші абзацқа салайық:
<div>
<p>
<img src="img.png" alt="">
Lorem ipsum dolor sit amet, consectetur adipiscing elitorire.
</p>
<p>
some long text
</p>
</div>
div {
width: 400px;
border: 1px solid red;
text-align: justify;
}
p {
margin-left: 30px;
border: 1px solid green;
}
img {
float: left;
opacity: 0.5;
}
:
Енді сурет абзацтармен бірге жылжиды!