Avatar billede Martin_Poulsen Nybegynder
18. august 2011 - 14:11 Der er 3 kommentarer og
1 løsning

Gennemsigtig baggrund med CSS

Jeg forsøger at give noget tekst en gennemsigtig baggrund. Jeg har sat den ønskede baggrundsfarve på et <span>-element, der indeholder et <p>-element, der igen indeholder selve teksten. <span>-elementet har jeg gjort gennemsigtigt, og <p>-elementet bliver derefter sat til at være u-gennemsigtigt. Alligevel forbliver teksten i <p>-elementet gennemsigtig, og det vil jeg gerne undgå.

Hvordan får jeg ikke-gennemsigtig tekst på gennemsigtig baggrund?

vh Martin
Avatar billede jokkejensen Novice
18. august 2011 - 15:15 #1
1: et span må ikke indeholde et p

Når du sætter baggrundsfarven til transperent, skal du positionere dit indhold relativt "ovenpå".

/J
Avatar billede Jim Rasmussen Novice
18. august 2011 - 15:38 #2
Du skal bruge en div til at indeholde dit p tag. Og så sætte din div til display:inline;

og den gennemsigtige baggrund får du bedst ved at generere  et billed på 1x1 px i ex. photoshop, som har den ønskede farve og opacity(gennemsigtighed)

Det billed gemmer du så som navn.png og sætter som baggrundsbillede på din div.

sådan her:
div
{
  background-image:url('sti til billed');
}

Billedet vil som standart have backgroung-repeat:repeat;. Hvilket betyder at det vil blive gentaget så mange gange det kan være i din div. Altså, derfor ligner den en solid baggrundsfarve der er gennemsigtig

på denne måde er du fri for at indholdet af din div også bliver gennemsigtig. Hvilket er tilfældet ved brug at opacity, alpha osv. i css

Kan referere til min egen guide her --> http://d-zig.com/Desc.aspx?item=63
Avatar billede olebole Juniormester
18. august 2011 - 17:06 #3
<ole>

DSDM >> "Du skal bruge en div til at indeholde dit p tag. Og så sætte din div til display:inline;"

Nej, det er ikke korrekt. Et inline element, der indeholder block indhold giver ikke mening og resulterer i invalid HTML. Valid HTML er ikke et spørgsmål om at 'snyde' en validator, men at undgå meningsløs markup - hvad enten den opstår designtime eller runtime.

Fra din egen guide:

Plus this way is better than using alpha and opacity in css, witch is by the way not correct if you want your website to be w3 valid.

I den forbindelse bør du måske nævne, at W3C eksplicit stipulerer, at når/hvis en agent ikke forstår en given property, skal denne blot springes over. Det gør de gængse browsere da også ganske korrekt, mens de ved 'rigtige' fejl springer hele reglen over.

Lidt oft: Ordet witch betyder heks, mens which bl.a. betyder hvilket.

/mvh
</bole>
Avatar billede Martin_Poulsen Nybegynder
21. august 2011 - 20:57 #4
Tak for svar og kommentarer! Jeg løste problemet ved at lave 1-pixel-baggrund-tricket på et span element indeholdt i p elementet.

vh Martin
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester