Avatar billede webco_dk Nybegynder
07. januar 2007 - 21:22 Der er 6 kommentarer og
1 løsning

fonte i en drop down menu

hej
jeg skal have lavet fonte på teksten i en dropdown menu altså en forskellig på hver <option> ligesom den i word med teksttyper.
håber der er en der kan hjælpe kan bare ikke få det til af virke.
Avatar billede mstorgaard Praktikant
08. januar 2007 - 12:54 #1
Det kan klares med style:
<option style="font-size: 10pt; font-face: verdana; color: #000000;">
Avatar billede roenving Novice
08. januar 2007 - 12:58 #2
Nix, for den slags attributter vælges for hele select-boksen, så du må over i en 'kunstig' select (altså en række divs, som positioneres relativt i en anden, der vises og skjules, samt onclick-events på dem tol at udføre din handling !-)

PS. Det eneste du kan på option-styles er farve-ændringer !o]
Avatar billede webco_dk Nybegynder
08. januar 2007 - 17:00 #3
storgaarden har prøvet se hvad roenving skriver.

roenving jeg forstår ikke helt hvad du menner jeg skal gøre.
kan jeg heller ikke lave en forskellig class på hver option
Avatar billede roenving Novice
14. januar 2007 - 12:08 #4
-- du kan sagtens have en forskellige class for hver option, det er bare kun farve-ændringer, der er gyldige for options !-)

-- men en 'kunstig' select kan f.eks. se sådan ud:

<div style="width:150px;overflow:hidden;">
  <div style="font-family:verdana,arial,sans-serif;cursor:pointer;" onclick="showHideSelect(this);">Vælg font</div>
  <div id="selectDiv" style="display:none;cursor:pointer;">
    <div style="font-family:arial;" onclick="setShow(this);">Arial</div>
    <div style="font-family:'arial black';" onclick="setShow(this);">Arial Black</div>
    <div style="font-family:'arial narrow';" onclick="setShow(this);">Arial Narrow</div>
    <div style="font-family:Verdana;" onclick="setShow(this);">Verdana</div>
    <div style="font-family:tahoma;" onclick="setShow(this);">Tahoma</div>
    <div style="font-family:haettenschweiler;" onclick="setShow(this);">Haettenschweiler</div>
    <div style="font-family:'courier new';" onclick="setShow(this);">Courier New</div>
  </div>
</div>

<script type="text/javascript">
function showHideSelect(elm){
  var selStyle = elm.parentNode.getElementsByTagName("div")[1].style;
  selStyle.display = selStyle.display != "block" ? "block" : "none";
}
function setShow(elm){
  var showDiv = elm.parentNode.parentNode.getElementsByTagName("div")[0];
  showDiv.style.fontFamily = elm.style.fontFamily;
  showDiv.style.fontSize = elm.style.fontSize;//hvis du skal bruge flere forskellige selects
  showDiv.firstChild.nodeValue = elm.firstChild.nodeValue;
  showHideSelect(elm.parentNode);
}
</script>

-- jeg har lavet den, så du faktisk kan lave flere ved siden af hinanden, vist er, at du også kan vælge størrelse, men også f.eks. farve osv. kan sættes i !-)

-- jeg ville ikke selv gide at lave en visning, der afspejler valg i flere selects !-)
Avatar billede roenving Novice
14. januar 2007 - 12:17 #5
Hrm, inspireret af et andet spørgsmål udvidede jeg den lige:

<div style="width:150px;overflow:hidden;">
  <div style="font-family:verdana,arial,sans-serif;cursor:pointer;" onclick="showHideSelect(this);">Vælg font</div>
  <div id="selectDiv" style="display:none;cursor:pointer;">
    <div style="font-family:arial;" onclick="setShow(this);">Arial</div>
    <div style="font-family:'arial black';" onclick="setShow(this);">Arial Black</div>
    <div style="font-family:'arial narrow';" onclick="setShow(this);">Arial Narrow</div>
    <div style="font-family:Verdana;" onclick="setShow(this);">Verdana</div>
    <div style="font-family:tahoma;" onclick="setShow(this);">Tahoma</div>
    <div style="font-family:haettenschweiler;" onclick="setShow(this);">Haettenschweiler</div>
    <div style="font-family:'courier new';" onclick="setShow(this);">Courier New</div>
  </div>
</div>

<script type="text/javascript">
function showHideSelect(elm){
  var selStyle = elm.parentNode.getElementsByTagName("div")[1].style;
  selStyle.display = selStyle.display != "block" ? "block" : "none";
}
function setShow(elm){
  var parDiv = elm.parentNode;
  var sibs = parDiv.getElementsByTagName("div");
  for(i=0,im=sibs.length;im>i;i++){
    sibs[i].style.backgroundColor = "#fff";
    sibs[i].style.color = "#000";
  }
  elm.style.backgroundColor = "#00f";
  elm.style.color = "#fff";
  var showDiv = parDiv.parentNode.getElementsByTagName("div")[0];
  showDiv.style.fontFamily = elm.style.fontFamily;
  showDiv.style.fontSize = elm.style.fontSize;//hvis du skal bruge flere forskellige selects
  showDiv.firstChild.nodeValue = elm.firstChild.nodeValue;
  showHideSelect(elm.parentNode);
}
</script>

-- så den valgte også vises, hvis man åbner den igen / fortryder !-)
Avatar billede webco_dk Nybegynder
05. juni 2007 - 17:27 #6
tak
Avatar billede roenving Novice
06. juni 2007 - 01:08 #7
Tak for hjælpen ,-(
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