Avatar billede clausberg Nybegynder
03. marts 2006 - 16:27 Der er 9 kommentarer og
2 løsninger

2 stylesheets på samme side?

Mit spørgsmål går slet og ret på om man kan have to stylesheets på samme side?

I venstre side har jeg en søgefunktion, som jeg gerne vil bruge css på - det lille søgefelt kaldes ind på siden med Server side include. I midten har jeg en mail funktion, som også skal styres med css.

Men hvordan undgår jeg, at disse to indvirker på hinanden.

Jeg forestiller selv, at man kan styre det hele med id og class tags, men ændringer på siden indvirker på begge!?

Nogle gode råd?
Avatar billede ckh Nybegynder
03. marts 2006 - 16:38 #1
Det burde ikke indvirke på begge medmindre du "kalder" dem samme class eller id (eller ikke kalder dem noget). Eller har noget nedarvet fra resten af stylesheetet.

Et stylesheet burde være mere end rigeligt hvis det er bygget ordentligt op.
Avatar billede clausberg Nybegynder
03. marts 2006 - 16:47 #2
Til denne mail form:
<form>
<label for="user">Name</label>
<input type="text" name="user" value="" /><br />
<label for="emailaddress">Email Address:</label>
<input type="text" name="emailaddress" value="" /><br />
<label for="comments">Comments:</label>
<textarea name="comments"></textarea><br />
<label for="terms">Agree to Terms?</label>
<input type="checkbox" name="terms" class="boxes" /><br />
<input type="submit" name="submitbutton" id="submitbutton" value="Submit" />
</form>

har jeg skrevet følgende:

<style type="text/css">
label{
float: left;
width: 120px;
font-weight: bold;
}
input, textarea{
width: 180px;
margin-bottom: 5px;
}
textarea{
width: 250px;
height: 150px;
}
.boxes{
width: 1em;
}
#submitbutton{
margin-left: 120px;
margin-top: 5px;
width: 90px;
}
br{
clear: left;
}
</style>

Jeg kan godt se din pointe, for de andre "forms" jeg forsøger at styre med samme stylesheets bruger jo fx også label, textarea osv...

Mine to "forms" har forskellige størrelser, så textarea kan ikke have den samme længde - hvad skriver jeg for at standard tags såsom textarea, label osv. bliver unikke i forhold til hver enkelt "form"
Avatar billede ckh Nybegynder
03. marts 2006 - 16:53 #3
I ovenstående har du jo allerede en konflikt fordi du kalder textarea 2 gange...
Avatar billede mclemens Nybegynder
03. marts 2006 - 16:56 #4
Hvad med:
<form class="form1">
<form class="form2">
<style type="text/css">
form.form1 label{
float: left;
width: 120px;
font-weight: bold;
}
form.form1 input, textarea{
width: 180px;
margin-bottom: 5px;
}
form.form1 textarea{
width: 250px;
height: 150px;
}

o.s.v.

form.form2 label{
float: left;
width: 120px;
font-weight: bold;
}
form.form2 input, textarea{
width: 180px;
margin-bottom: 5px;
}
form.form2 textarea{
width: 250px;
height: 150px;
}

o.s.v.
Avatar billede clausberg Nybegynder
03. marts 2006 - 16:56 #5
Nå ja :-) lol

Men hvis nu jeg har et textarea på samme side som jeg netop gerne vil have til at være width="50", hvad gør jeg så, når 2xtextarea skal defineres i samme stylesheet
Avatar billede ckh Nybegynder
03. marts 2006 - 17:02 #6
Definerer det ene ved hjælp af f.ex. en class eller id

<textarea class="hvad_du_nu_har_kaldt_den_i_dit_stylesheet">

Dermed vil det enkelte felt tage sig anderledes ud end alle de andre textareafelter. Og alle andre textareas vil stadig følge "hovedreglen"
Avatar billede clausberg Nybegynder
03. marts 2006 - 17:35 #7
Ja der kan man bare se - det virker faktisk :-)

Jeg kan se at jeg får et ret langt stylesheet - går det ud over hastigheden?

Og ved du hvad dette betyder:
br{
clear: left;
}


Smid samtidigt et svar :-)
Avatar billede mclemens Nybegynder
03. marts 2006 - 18:22 #8
Jeg kan se at jeg får et ret langt stylesheet - går det ud over hastigheden?
- Stylesheetet hentes kun en gang så...

br{clear: left;} ... (kan ikke helt huske hvist noget om at der ikke kan stå noget til venste for)

- Ved ikke hvem der skulle smide et svar, men afvis dette hvis du mente ckh...
Avatar billede mclemens Nybegynder
03. marts 2006 - 22:59 #9
P.s. m.h.t. str. på css'en så hvis der er css ting der er ens i flere forms så slet specificeringen af hvilken for css værdien tilhører f.eks.:
form.form1 textarea{width: 250px;height: 150px;}
form.form2 textarea{width: 250px;height: 150px;}

over til: textarea{width: 250px;height: 150px;}

hvis du har php så kan du skifte href="stylesheetnavn.css" til href="stylesheetnavn.php" ... indsætte din css i filen køre erstat i f.eks. notepad:
erstat " med \" ... herefter slut det hele ind i echo" ... ";

samt i toppen af filen:
<?php ob_start("ob_gzhandler");header("Content-type: text/css");

og i bunden af filen:
?>

... det skulle hjælpe på størrelsen ;)
Avatar billede clausberg Nybegynder
05. marts 2006 - 16:00 #10
CKH>>>> Smid også et svar

Da jeg kan bruge begges råd, synes jeg at det er mest fair, hvis I deles om pointene
Avatar billede ckh Nybegynder
06. marts 2006 - 12:32 #11
Jamen du får da lige et svar så :)
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