Fins ara hem vist que podem posar un color de fons a qualsevol element HTML. Recorda que pel navegador qualsevol element s’entĂ©n com una caixa i dins dels seus lĂmits en podem modificar el fons.
La propietat background-image ens permet fer servir imatges de fons. No és incompatible amb background-color, és a dir: un element pot tenir un color de fons i una o més imatges de fons.
Si un element té una imatge de fons i un border visible, el border es veurà per sobre del fons. El color de fons sempre es veurà per darrere les imatges de fons.
Per defecte, el valor de la propietat background-image és «none» i de background-color és «transparent».
Les imatges de fons es poden especificar de dues maneres:
- ruta a la imatge: url(ruta/arxiu.jpg)
- gradient de colors: linear-gradient( to bottom, #FF0000, #00FF00 )
El valor de la propietat background-color pot contenir un o més enllaços i, al mateix temps, un gradient:
background-image: linear-gradient(
to bottom,
#FF0000,
#00FF00
), url("gatet.png");
Els lectors de pantalla per a persones invidents (o amb poca visió) no donen cap informació sobre les imatges de fons. Això significa que no posarem com imatge de fons una imatge que sigui necessà ria semà nticament.
RepeticiĂł
Per defecte, la imatge de fons es repetirĂ per tota la caixa de l’element, omplint tot l’espai disponible (algunes podran quedar tallades). Això Ă©s aixĂ perquè la propietat background-repeat tĂ©, per defecte, el valor «repeat». Altres valors possibles sĂłn:
- no-repeat
- repeat-x (nomĂ©s es repeteix horitzontalment fins a omplir tot l’espai, algunes imatges poden quedar tallades)
- repeat-y (nomĂ©s es repeteix verticalment fins a omplir tot l’espai, algunes imatges poden quedar tallades)
- space (es repeteixen tantes vegades com sigui possible sense que cap imatge quedi tallada)
- round (es cobrirĂ l’espai repetint imatges, si alguna ha de quedar tallada horitzontalment totes les imatges es faran mĂ©s estretes per a fer-li espai. Cap imatge quedarĂ tallada, però poden perdre les seves proporcions)
background-image:url(https://user0.gesem.es/blog/wp-content/uploads/2023/06/smiley-png-5a3a6b01d58967.8911438215137779218747.jpg);
background-repeat:no-repeat;
background-repeat:repeat-x;
background-repeat: repeat-y;
background-repeat:space;
background-size:round;
PosiciĂł
Si et fixes, per defecte les imatges de fons es comencen a col·locar des de la part superior esquerra. Això és aixà perquè els valors de les propietats background-position-x és «left» i la de background-position-y és «top» també.
Les propietats background-position-x i background-position-y es poden indicar amb la propietat simplificada background-position (com ja hem vist amb altres propietats).
Valors possibles de background-position
Podem fer servir les coordenades de la caixa: top right bottom left i, a més el valor «center».
- Si donem un Ăşnic valor:
- Si només li donem el valor «center», la imatge es centrarà verticalment i horitzontal.
- Si nomĂ©s li donem el valor «left» o el valor «right» la imatge es centrarĂ verticalment i es col·locarĂ a l’esquerra (left) o a la dreta (right)
- Si només li donem el valor «top» o el valor «bottom» la imatge es centrarà horitzontalment i es col·locarà a dalt (top) o a baix (bottom).
- Si el valor Ă©s un percentatge o una distĂ ncia (ex: 20px), la imatge es centrarĂ verticalment i es col·locarĂ al tant per cent de l’amplada (o distĂ ncia) indicat, sempre respecte a l’esquerra.
- Si donem dues coordenades de la llista «left», «top» «right» «bottom» o «center», un fa referència a l’eix horitzontal (eix X) i l’altre al vertical (eix Y):
- left top
- left center
- right bottom
- ….
- (el navegador també entendrà si ho diem al revés)
- Si es donen dos valors i un Ă©s un percentatge / distĂ ncia i l’altre una coordenada de la llista «left», «top» «right» «bottom» o «center», aleshores un farĂ referència a l’eix X i l’altre a l’eix Y.
- Si un valor Ă©s un percentatge o una distĂ ncia (ex: 10px) i l’altre Ă©s «top» o «bottom», el valor numèric farĂ referència a l’eix X i la imatge es col·locarĂ a un percentatge / distĂ ncia de l’alçada des de la part esquerra i alineat a dalt (top) o a baix (bottom)
- Si un valor Ă©s un percentatge / distĂ ncia (ex: 10px) i l’altre Ă©s «right» o «left», el percentatge farĂ referència a l’eix Y i la imatge es col·locarĂ a un percentatge de l’alçada des de la part superior i alienada a la dreta (right) o esquerra (bottom)
- Si es donen dos valors i els dos valors sĂłn un percentatge o una distĂ ncia , aleshores la imatge es col·locarĂ al percentatge de l’amplada / distĂ ncia respecte a l’esquerra del primer valor i al percentatge de l’alçada / distĂ ncia respecte a la part superior del segon valor
- Si es donen 3 valors, els dos primers han de ser una paraula de la llista de coordenades i el tercer valor Ă©s una distĂ ncia (en percentatge o en pĂxels). Aquest percentatge o distĂ ncia farĂ referència a la coordenada que el precedeix:
- exemple: top right 20%
- exemple: top right 20%
background-position: top right 20%;
background-position: left top 20px;
Mida
Per defecte, la imatge de fons es veurĂ a la mida real de la imatge (la de l’arxiu jpg, png, gif o webp). Si l’espai Ă©s mĂ©s petit, la imatge sortirĂ de la caixa (hi haurĂ una part que no es veurĂ ). Això Ă©s aixĂ perquè el valor per defecte de la propietat background-size Ă©s «auto».
Possibles valors de background-size
Podem modificar les dimensions de la imatge de fons de la segĂĽent manera:
Cover
La imatge s’estira prou per cobrir tota la caixa
background-size: cover;
Contain
La imatge s’encongeix o estira prou per veure’s sencera
background-size: contain;
Dimensions
Podem indicar la mida de la imatge de fons Ă©s una dimensiĂł fixa (ex: 200px) o en un percentatge (ex: 20%) respecte a l’amplada de la caixa
Si indiquem un Ăşnic valor, el navegador entendrĂ que fa referència a l’amplada i ajustarĂ l’alçada automĂ ticament, mantenint les proporcions.
Si indiquem dos valors, el primer farĂ referència a l’amplada i el segon a l’alçada. La imatge es pot distorsionar
background-size: 20px 120px;