Avatar billede kovalt Nybegynder
21. april 2005 - 10:54 Der er 8 kommentarer og
1 løsning

Dynamisk CSS

Hej

  Jeg ved ikke lige helt om dette spørgsmål hører hjemme i CSS-kategorien - men jeg prøver lykken her.

  Sagen er den at jeg har et CSS som indeholder en masse definitioner på text-felter. Eneste forskel på de forskellige er længden, idet farver, srkfittype, højde osv. er ens.

  De forskellige text-felter bliver i CSS defineret som følger:

textfield_100 {
width:100px;
}
textfield_200 {
width:200px;
}

hvor tallet efter _ angiver længden som så bliver defineret nedenfor.

Er der en måde hvorpå jeg med javascript kan nøjes med at definere ét text-felt i mit CSS og så sende parameteren "width" med over fra min HTML.

Håber det giver mening :-)

/Kovalt
Avatar billede kovalt Nybegynder
21. april 2005 - 10:57 #1
ideen er at jeg så i min HTML kan lave følgende

<input type='text' name='tekstfelt' id='textfield_VALGFRI_BREDDE'>
Avatar billede fennec Nybegynder
21. april 2005 - 11:26 #2
Er det ikke nemmere at bruge <input> tagets size i stedet, også fjerne width fra CSS'en:
<input type='text' name='tekstfelt' size='20'>

Ved godt at det så ikke bliver en bestemt px brede, men det er en meget nem løsning.
Avatar billede fennec Nybegynder
21. april 2005 - 11:27 #3
ellers kan du da skrive det direkte på tag'et

<input type='text' name='tekstfelt' style='width:200px;'>
Avatar billede kovalt Nybegynder
21. april 2005 - 11:56 #4
hey

det er udelukkende det rent grafiske vi snakker om så første løsning dur ikke - men anden er selvfølgelig en mulighed.

Ville dog gerne om det andet kunne lade sig gøre :-)

Jeg afventer lige og ser hvad der sker!
Avatar billede fennec Nybegynder
21. april 2005 - 12:30 #5
Så vil jeg helt klart bruge den sidste løsning. Hvis du skriver 200 på id'et også har et javascript til at løbe elementerne igennem for at sætte breden, er det meget bedre at skrive det på style attributten. Desuden er der folk som har slået JavaScript fra, også får du ikke sat breden. Den arver alligevel resten fra CSS:

<style>
input{
  font-family : verdana;
  font-size : 10px;
}
</style>
<input type="text" name="tekstfelt" style="width:200px;"><br>
<input type="text" name="tekstfelt" style="width:100px;">

.o) <-- One Eyed Jack
Avatar billede olebole Juniormester
21. april 2005 - 16:10 #6
<ole>

At lave en klasse for hvert input-element giver ikke en synderlig overskuelig kode - men du kan jo også extende klasser på denne måde, der giver en del bedre overblik:

<style type="text/css">
input{
  font-family : verdana;
  font-size : 10px;
}
.inpRed {
  background-color: red;
}
.inp100 {
  width: 100px;
}
.inp150 {
  width: 150px;
}
.inp200 {
  width: 200px;
}
</style>

<input type="text"><br>
<input class="inpRed" type="text"><br>
<input class="inp200" type="text"><br>
<input class="inpRed inp100" type="text"><br>
<input class="inpRed inp150" type="text"><br>
<input class="inpRed inp200" type="text"><br>

/mvh
</bole>
Avatar billede roenving Novice
22. april 2005 - 16:32 #7
Men hvorfor har du noget med valgfri ?-)
Avatar billede kovalt Nybegynder
22. april 2005 - 23:49 #8
Grunden til det hele er at jeg har mange form-felter på siden og at disse findes i mange forskellige bredder. Jeg tænke derfor at det ville være dejlig let hvis jeg bare kunne sende værdien af width med over når jeg oprettet min input-felt i HTML.

Men det lader til at det letteste er at definere bredden som style="width:enBredde px;", hver gang jeg lavet er felt.
Avatar billede roenving Novice
24. april 2005 - 11:27 #9
Absolut, ja !-)
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