Gå til innhold

Utvikling av CSS


Anbefalte innlegg

Heisann!

 

Jeg holder på å lage en liten webside og har funnet ut at jeg skal ha denne funksjonen i menyen:

 

onmouseover="this.style.backgroundColor='#ffffff';"

onmouseout="this.style.backgroundColor='transparent';"

 

Den gjør slik at bakgrunnen i cellen skifter farge nå man holder over den. Det eneste problemet er at det er noe tungvint å lime denne inn denne koden på hver eneste celle jeg ønsker denne funksjonen - dersom jeg ønsker å skifte farge så må jeg jo endre samtlige. Derfor lurer jeg på om det går an å få samme funksjon inn i en css fil ?!

 

På forhånd takk.

Lenke til kommentar
Videoannonse
Annonse

Det der er JavaScript, men den "trigger" CSS. Du kan imidlertidig lage en funksjon av det i en ekstern fil. Det gjør at det blir bittelitt kortere, pluss at du kan endre fargene i .js-filen, istedenfor å gjøre det hundre ganger i HTML-filen.

 

onmouseover = "bakgrunnsfarge1();"
onmouseout = "bakgrunnsfarge2();"

 

Dette er uansett også veldig tungvindt, og det skal være en måte å fikse dette på i CSS, men det har ikke jeg peiling på. Du får håpe at en av kodeguruene kommer innom... ;)

Lenke til kommentar

Vet ikke helt hvor semantisk korrekt dette er, men here goes:

<div id="menu>
<a href="#" class="opt"><span>Lipsum</span></a> <br />
<a href="#" class="opt"><span>Lipsum</span></a> <br />
<a href="#" class="opt"><span>Lipsum</span></a> <br />
</div>

#menu{
background-color: #111111;
}
.opt span{
background-color: transparent;
}
.opt:hover span{
background-color: #ffffff;
}

Jeg har ikke testet koden, men den burde vel funke...

til dere som lurer: orket ikke sette opp med lister, for så å fjerne ikoner osv... enklere å bruke '<br />', selv om det er feil...

Lenke til kommentar

Kunne gjort det enklare, zethyr

 

<div id="menu>
<ul>
<li><a href="#">En link</a></li>
<li><a href="#">En link til</a></li>
<li><a href="#">Enda en link</a></li>
</ul>
</div>

 

og css delen:

 


div#menu ul {
margin: 0;
padding: 0;
}

div#menu ul li {
margin:0;
padding: 0;
}

div#menu {
width: npx;         /* "n" er et tall.*/
background: #(farge);         /* sett inn ønska farge */
}

div#menu a {
width: npx;       /* "n" er et tall.*/
height: npx;      /* "n" er et tall.*/
display: block;
}

div#menu a:hover {
background: #(farge);   /* Fargen du vil ha ved mouseover */
}

 

I tillegg må du angi fontstørrelser, font familie, fontfarger, osv osv... Gi oss gjerne link til sida, så skal du sjå du får masse bra svar ;)

Endret av arve87
Lenke til kommentar

:!:

 

edit: Husker ikke hvor jeg leste det, men når det gjelder css:

id'er er unike, så du trenger ikke angi element-type foran:

eks : div#menu = bad, #menu = good...

jo mer konsist jo bedre:

eks: #menu ul li a.blue = bad a.blue = good...

Endret av Zethyr
Lenke til kommentar

Når eg skriver

div#menu ul li a 

Vil stilregelen kun påvirke alle a-element, inni li inni ul inni #menu.

 

Skjønner?

Ellers måtte eg angitt en egen klasse til linkane i menyen, som eg finner unødvendig. Begge deler ville fungert like greit though, og ville ikkje utgjort en forskjell i praksis.

Lenke til kommentar

<!--

A:link {text-decoration: none; color:#A01E16}

A:visited {text-decoration: none; color:#A01E16}

A:hover { text-decoration: underline; font weight: bold; color:#FFF8F0 }

-->

 

Kjører jeg på min, bytt ut color og text decoration etc. etter ønske.

Slenges inn i head'en.

EDIT: Ops, var visst php, men jeg regner med at du bruker dette?

Endret av Anders81
Lenke til kommentar

WOW! en eller annen tutorial har lurt meg grundig, i tillegg til at jeg trodde css burde være eksternt, inline eller internt i style-elementet ??

edit: SHIT !! jeg har bare sett feil hele tiden, men jeg påstår enda at det er feil måte å skrive css på utenfor style-elementer...

edit2: forvirret med ett eller annet man skrev i body eller noe før år 2000...

Endret av Zethyr
Lenke til kommentar

Hvis du vil skifte farge, men slippe å gjøre det 1000 steder kan du bare:

 

<? $farge = "#ffffff"; //skift farge her ?>

onmouseover="this.style.backgroundColor='<? echo $farge; ?>';" 
onmouseout="this.style.backgroundColor='transparent';"

 

Denne løsningen har ingenting med CSS å gjøre, men er jo et alternativ..

 

EDIT: PHP!

Endret av baRs
Lenke til kommentar
Nå legges jo java rett inn i html også da, så hva er egentlig så farlig med å velge css når man først skal legge til ting rett inn i html? Du slipper uansett unna med å bruke den en gang per side.

Bare for å være pirkete, java og javascript er to vidt forskjellige ting.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...