Professional Documents
Culture Documents
Hét Mondriani Festmény
Hét Mondriani Festmény
Mondrian festménye
Piet Mondrian holland festő egyik képe nemrég igen jó áron kelt
el egy amerikai árverésen.
<div></div>
HTML
Copy
Látszólag még nem történt semmi, a színfalak mögött azonban
létrejött a vászon, amire festeni fogunk. Csak még nincs színe,
tartalma és mérete.
<div id="canvas"></div>
HTML
Copy
id attribútum bármelyik HTML-tagnek adható. Ez az azonosítója
(identifier), így tudsz majd rá hivatkozni a CSS-szabályoknál és a
JavaScript-kódban is.
#canvas {
...
}
CSS
Copy
A festmény tulajdonképpen egy négyzet. Adj ennek megfelelően a
CSS-panelbe írt kód segítségével méretet a vászonnak, és egy
háttérszínt, hogy látsszon is az eredmény:
#canvas {
width: 300px;
height: 300px;
background-color: ivory;
}
CSS
Copy
A width szabályozza a szélességet, a height a magasságot. Most
képpontokban (pixel, px) adtuk meg a méretet, így az ablak
méretétől függetlenül mindig fixen ekkora lesz.
https://developer.mozilla.org/en-US/docs/Web/CSS/color_value
Kerüljön középre
#canvas {
width: 300px;
height: 300px;
background-color: ivory;
margin: 0 auto;
}
CSS
Copy
Világítsd meg
#canvas {
width: 300px;
height: 300px;
background-color: ivory;
margin: 0 auto;
box-shadow: 15px 15px 10px gray;
}
CSS
Copy
A box-shadow (doboz-árnyék) több paraméterrel működik:
div id="canvas">
<div id="first-row"></div>
</div>
HTML
Copy
A HTML-kódban az új div elemet beleágyaztuk a már korábban
elhelyezett másik div elembe (a már elkészített vásznunkra
festünk). Így a <div id="canvas"> elem lett a szülő (parent element), és
a <div id="first-row"> lett a gyermek elem (child element).
+1 tipp: A gyermek elem "örökli" (inherit) a szülő elem egyes
tulajdonságait (például ha már megadtad a szülő elemnek a
betűtípusát, nem kell újra megadnod a gyermek elemnél is, csak
ha ettől eltérőt szeretnél használni).
#first-row {
height: 75%;
width: 100%;
}
CSS
Copy
25
50
100
200
Ellenőrzöm a válaszom
<div id="canvas">
<div id="first-row">
<div id="big-rectangle"></div>
</div>
</div>
HTML
Copy
És add meg a méreteit:
#big-rectangle {
height: 100%;
width: 75%;
}
CSS
Copy
Látsz valamit? Még nem, pedig valószínűleg mindent jól csináltál.
Mivel a #big-rectangle elemnek nincs külön definiált háttérszíne,
egyelőre nem látszik az oldalon.
Színesen izgalmasabb
HTML
Copy
A CSS-kódban az osztályokra a .osztaly-neve kiválasztóval
hivatkozhatsz. Írj egy szabályt a frissen létrehozott osztályra:
.red {
background-color: red;
}
CSS
Copy
Ha minden sikerült, akkor a nagy négyzeted pirosra színeződött.
Milyen CSS-szabályt használnál ahhoz, hogy egy <div class="brown"> elem
háttérszínét barnára állítsd?
Ellenőrzöm a válaszom
Úgy bizony!
.right {
float: right;
}
CSS
Copy
A float tehát kiemeli az elemet a megjelenítés normális folyamából,
a float:right; jobb oldalra "lebegteti", a float:left; pedig balra.
HTML
Copy
Ellenőrzöm a válaszom
.black {
background-color: black;
}
CSS
Copy
És egy következő elemre a HTML struktúrában, a megfelelő helyre
beágyazva:
<div id="canvas">
<div id="first-row">
<div id="big-rectangle" class="red right"></div>
<div id="first-divider"></div>
</div>
</div>
HTML
Copy
Az új elem is az első sorba (#first-row) került, de az eddigiekkel
ellentétben nem a legbelső elembe ágyazva, hanem azzal egy
szintre. A #big-rectangle és a #first-divider így nem szülő-gyermek,
hanem testvér elemek (sibling elements).
#first-divider {
height: 100%;
width: 3%;
}
CSS
Copy
Fesd feketére (adj neki black classt) és "lebegtesd" ezt is jobbról (adj
neki right classt).
HTML
Copy
A .right classt elég csak a három négyszöget tartalmazó #first-
column elemnek megadni, automatikusan érvényesül az összes
benne foglalt elemre.
CSS
Copy
Próbáld ki, mi történik, ha ennél nagyobb százalékot adsz meg az
első oszlop szélességének.
#second-divider {
height: 3%;
width: 100%;
}
CSS
Copy
Az első oszlop összes magasságából (100%), eddig a fekete
téglalap foglal csak el helyet (3%). A két világos téglalap nagyjából
egyenlő arányban osztozik a maradék helyen: 97 / 2 = 48.5% lesz a
méretük:
#first-medium-rectangle {
height: 48.5%;
width: 100%;
}
CSS
Copy
#second-medium-rectangle {
height: 48.5%;
width: 100%;
}
42.5%
45.5%
46.5%
47%
Ellenőrzöm a válaszom
https://codepen.io/SziRom/pen/JjpObdN
A feladatok:
HTML
<div id="third-row">
<div id="last-column" class="right">
<div id="first-tiny-rectangle"></div>
<div id="third-divider" class="black"></div>
<div id="second-tiny-rectangle"
class="yellow"></div>
</div>
<div id="fourth-divider" class="black right"></div>
<div id="wide-rectangle" class="right"></div>
<div id="fifth-divider" class="black right"></div>
<div id="small-rectangle" class="blue right"></div>
</div>
HTML
Copy
CSS-pozíciók és méretek
#third-row {
height: 22%;
width: 100%;
}
#last-column {
height: 100%;
width: 5%;
}
#first-tiny-rectangle {
height: 45%;
width: 100%;
}
#second-tiny-rectangle {
height: 45%;
width: 100%;
}
#third-divider {
height: 10%;
width: 100%;
}
#fourth-divider {
height: 100%;
width: 3%;
}
#fifth-divider {
height: 100%;
width: 3%;
}
#wide-rectangle {
height: 100%;
width: 67%;
}
#small-rectangle {
height: 100%;
width: 22%;
}
CSS
Copy
CSS szín-osztályok
.yellow {
background-color: yellow;
}
.blue {
background-color: blue;
}
CSS
Copy
Ha nagyon elakadtál, itt egy CodePen link, nézz körül, hátha segít.
Feladat:
Ha szükséges, javítsd ki a saját kódod. Másold ide a kicsinosított
festményed JSBin-linkjét.
A megoldásod:
https://codepen.io/SziRom/pen/JjpObdN
HTML
<div id="canvas">
<div id="first-row">
<div id="big-rectangle" class="red right"></div>
<div id="first-divider" class="black right"></div>
</div>
</div>
HTML
Copy
CSS
CSS
Copy
Feladat:
Másold ide a legjobban sikerült festményed JSBin-linkjét.
A megoldásod:
https://codepen.io/SziRom/full/JjppWJq