Tunnetaanko CSS -määritteissä objektiperintää objektiorientoituneiden ohjelmointikielien tapaan?
Ongelmana siis se, että vaikka jo BODY -elementille määritellään CSS:n avulla fontti, niin tuon BODY:n sisällä kun on vaikkapa DIV tai INPUT (tai SPAN) -elementti, niin noilla elementeillä on oletuksena ERI fontti kuin BODY -elementillä!
JOS käyttää em -mittayksikköä, tämä on luonnollisesti katastrofi !
Eli jos käyttää em -mittayksikköä width ja height -määreissä, silloin täytyy pakottaa jokaisen elementin fontti keskenään samaksi!
(tai sitten: jos jonkun elementin fontti poikkeaa muiden elementtien fontista, tällaisen elementin width/height -arvo kannattaa määritellä pikseleinä EIKÄ em -yksikköinä!)
Tällöin olisi kiva, jos voisi määritellä CSS:llä jonkunlaisen "basesettings" -elementin, jossa asetetaan fontti, ja periyttää kaikki muut CSS -määritteet tuosta "basesettings" -elementistä.
Mutta tukeeko CSS tällaista sellaisenaan, vai onko ainoa vaihtoehto joko
a) unohtaa koko juttu ja sisällyttää sama fonttimääritys jokaiseen CSS -määreeseen
tai
b) tehdä itse pieni apuohjelma, ja kieltäytyä koskaan kirjoittamasta puhdasta CSS:ää, vaan sensijaan:
Itse kirjoittaa sivu.CSS -tiedoston sijasta esim. sivu.CSB -tiedoston, johoon sitten jotain tällaista:
input {
font-weight: %FONTWEIGHT%;
font-family: %FONTFAMILY%;
font-size: %FONTSIZE%;
}
ja sitten apuohjelmassa asettaa fontin esim:
FONTWEIGHT=400
FONTFAMILY="Arial", Helvetica, arial
FONTSIZE=normal
Ideana se, että tälläin tuo apuohjelma (joka lukee .CSB -tiedoston, ja tuottaa CSS -tiedoston) lisää JOKAISEEN CSS -määritykseen rivit:
font-weight: 400;
font-family: "Arial", Helvetica, arial;
font-size: normal;
Eli onko CSS:ssä olioiden perintää, vai onko ainoa vaihtoehto joko
1) unohtaa koko juttu (ja kärsiä siitä, että jos jonkun fontin vaihtaa, niin joko pitää manuaalisesti vaihtaa kaikki muutkin fontit samaksi tai sitten koko em -mittayksiköihin perustuvat mitat menevät sekaisin).
2) tehdä itse em. kaltainen apuohjelma ja kirjoittaa itse pelkkää CSB:tä ja antaa apuohjelman tuottaa CSS
?
CSS -objektiperintä? (fontit)
4
280
Vastaukset
- linuxuser
eikun opiskelemaan....
http://www.w3schools.com/css/default.asp
:) - hmhmhmhm
Kyllä se fontti pitäisi pysyä samana jos se on bodylle määritelty, siis näin:
body
{
font-family: serif;
}
Kyllä CSS:ssä perintää on monenlaista, ja montaa tyyliä voi helposti yhdistellä esim. class attribuutissa kirjoittamalla tärkeysjärjestykseen tyylit välilyönnillä eroteltuna. Koodiasi näkemättä on vaikeaa sanoa missä tarkalleen mättää, mutta kuulostaa siltä, että ongelma liittyy joko fonttien pikakirjoitusominaisuuteen:
http://weppipakki.com/css/css2/font.htm
tai luultavammin fonttikokjen erikoisempiin perimäsääntöihin:
http://weppipakki.com/css/css2/font-size.htm
joten kannattanee tarkastaa että olet ymmärtänyt käyttämäsi ominaisuuden oikein.- Koodie
Perintä onnistuu avainsanalla ”inherit”:
div, span, input {
font-family: inherit;
}
Jotakin on kuitenkin vialla, jos div- ja span-elementit eivät peri bodyn fonttia. Se siis pitää korjata eikä käyttää perintää turhaa.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Hengenvaaralliset kiihdytysajot päättyivät karmealla tavalla, kilpailija kuoli
Onnettomuudesta on aloitettu selvitys. Tapahtuma keskeytettiin onnettomuuteen. Tapahtumaa tutkitaan paikan päällä yhtei2047175- 1632170
- 1131758
- 511440
Suureksi onneksesi on myönnettävä
Että olen nyt sitten mennyt rakastumaan sinuun. Ei tässä mitään, olen kärsivällinen ❤️651393Möykkähulluus vaati kuolonuhrin
Nuori elämä menettiin täysin turhaan tällä järjettömyydellä! Toivottavasti näitä ei enää koskaan nähdä Kauhavalla! 😢571196Älä mies pidä mua pettäjänä
En petä ketään. Älä mies ajattele niin. Anteeksi että ihastuin suhun varattuna. Pettänyt en ole koskaan ketään vaikka hu1021135Reeniähororeeniä
Helvetillisen vaikeaa työskennellä hoitajana,kun ei kestä silmissään yhtään läskiä. Saati hoitaa sellaista. Mitä tehdä?71076- 411029
Tarvitsemme lisää maahanmuuttoa.
Väestö eläköityy, eli tarvitsemme lisää tekeviä käsiä ja veronmaksajia. Ainut ratkaisu löytyy maahanmuutosta. Nimenomaan2591003