Varje HMTL-element på en hemsida kan positioneras med css egenskapen position
. Det finns 5 olika attribut som position kan ha och dessa är:
top, bottom, left, right
.top, right, bottom
och left
så kan man flytta elementet från denna position. Andra element kommer normalt sett inte att fylla upp hålrum som lämnats av en sådan förflyttning.top, right, bottom
och left
används för att placera elementet utifrån skärmfönstrets kanter. Fixerade element flyter ovanför andra element på skärmen och lämnar inga hålrum.static
. Egenskaperna top, right, bottom
och left
används sedan för att placera elementet utifrån förälderns kanter.relative
och fixed
som är beroende på om skärmen har scrollats eller inte. En sticky
måste positioneras med minst en av top, right, bottom
eller left
precis som en fixed
men denna formatering används inte förrän man scrollat till elementets relativa position.När man har element som överlappar andra element så kan det behövas att man berättar vilket som ska ritas ut överst. Detta gör man med egenskapen z-index
. Större värden på denna variabel ritas ut över element med ett lägre värde. z-index
kan vara både positiv och negativ.
data-*
där * är ett valfritt ord som beskriver vilken information man vill lagra. Till exempel så kan man beskriva en länk till någon hemsida mer utförligt typ så här <a href:coolasidan.html data-beskrivning="En tuff hemsida om tuffa saker!">Barbie och Kens kärleksnäste</a>
. Man kan lägga till flera data-* attribut på samma tagg.max-witdh
och min-width
. En mediafråga i CSS kan se ut såhär:@media all and (min-width: 501px) and (max-width: 1000px) {
div {
background-color: salmon;
}
}
Detta kommer att göra så att alla <div>
-taggar byter färg till laxrosa om skärmen där sidan visas är mellan 501 och 1000 pixlar bred.
data-*
-attribut bara någon extra text som ska visas så kan man använda sig av CSS-egenskapen content
. Om HTML koden för ett element är:
<a href="www.tuffingarnasklubb.se" data-beskrivning="Här finns det bara tuffa tuffingar som gör tuffa saker.">Tuffingarnas Klubb</a>
a::before{
content: attr(data-beskrivning) " ";
}
a::after{
content: " Adress: " attr(href)
}
Det här borde get ett resultat som ser ut ungefär som:@media
, ::after
, ::before
och content
så kan man med hjälp av de olika attributen i HTML skapa ganska tuffa effekter som beror på hur stort webbläsarfönstret är.float: right
och float: left
. Observera att du kan rensa floats med float: none
. Undersök därefter egenskapen clear
och hur den används tillsammans med floats. Din sida ska visa och förklara användningen av alla dessa egenskaper med flera floatade element.
Detta är det floatade elementet.
Exempel: När man har en samling text, till exempel som den här texten som är medvetet skriven för att bli en lite längre text. Så kan det vara bra att den innesluts i en lämplig tagg. I det här fallet ett vanligt blockelement, en<div>
. I det här fallet sä har vi en text som är ganska lång i en generisk div som inte har någon speciell formattering, men sedan har vi också en annan div-tagg som har en specifierad bredd och ska flyta över texten till höger. Den här texten är tänkt att flyta runt den andra diven och det är anledningen till att det här måste vara en lite längre text, så att resultatet ska synas. För att få till det här så använder den andra div:en sig av egenskapen float: right;
vilket gör som namnet indikerar att den kommer att flyta mot höger.
Här ovan syns ett annat (kanske inte så tufft) exempel. Elementen kommer i HTML-koden i nummerordning, d.v.s. Ett, två, tre, fyra. Men de floatas (mot höger) i den ordningen också vilket gör att ettan hamnar längst till höger för att den floatas först. Nummer tre är speciell för den floatas inte alls och får därför sin position som vanligt. Om man hovrar över bakgrunden så floatas alla knappar (utom 'Tre') till vänster istället. Notera ordningen!!!