Como ven en la siguiente imagen, el fondo azul de los enaces al "hover" se extiende hasta donde finaliza la palabra:
Le coloqué al estilo display:block para que el hover se "extienda" al 100% de "la caja" como se ve a continuación:
pero... como ven, se separa cada elemento! Y el problema es que ya no sé qué tocar para que "se junten" :(
El código modificado por mi es el siguiente (en negrita el display:block agregado):
Estilos:
Código:
Javascript:<style type="text/css"> #dhtml_select { font-family:verdana; font-size:10px; width:120px; height:18px; border-style:inset; border-width:2px; position:relative; } .m_dhtml_select_options { position:relative; left:-116px; background-color:#FFFFFF; padding:2px; text-align:left; border-style:none; } .dhtml_href { width:100%; display:block; height:18px; margin:0px; padding:0px; } .dhtml_href:link { color:#000000;text-decoration:none;} .dhtml_href:visited { text-decoration:none;color:#000000;} .dhtml_href:hover { text-decoration:none; color:#FFFFFF; background-color:darkblue; } .dhtml_href:active { text-decoration:none;} #dhtml_select_dummy { position:absolute; top:0px; left:0px; width:100%; padding:2px; text-align:left; } </style>
Código:
<script language="javascript"> // this array controls the values and text for the options. The first values is the text, the second is the value. //dhtml_optionsArray = new Array(<% i = 1 : While Not RsK.EOF %>["<% = RsK("Keywords") %>","<% = RsK("Keywords") %>"]<% If i < RsK.RecordCount then %>,<% End if %><% RsK.MoveNext : i = i + 1 : Wend %>); dhtml_optionsArray = new Array(["option 1",1],["option 2",2],["option 3",3],["option 4",4]); isExpanded = false; clicked = false; //constants // these match the properties as defined in the style sheet. FONT_SIZE = 10; SELECT_HEIGHT = 18; SELECT_WIDTH = 230; function buttonClicked() { xDoc = document.getElementById; obj = document.getElementById("dhtml_select_options"); if(!isExpanded) { obj.style.display="block"; isExpanded = true; if(!clicked) { clicked=true; obj.style.position = "absolute"; obj.style.top = (obj.style.top+SELECT_HEIGHT) + "px"; obj.style.width = SELECT_WIDTH + "px"; obj.style.borderStyle = "solid"; obj.style.borderWidth="1px;"; rPadding = dhtml_optionsArray.length*2; obj.style.height = (((dhtml_optionsArray.length) * FONT_SIZE) + rPadding) + "px"; mHTML = ""; for(i=0;i<dhtml_optionsArray.length;i++)mHTML += "<a class=\"dhtml_href\" href=\"javascript:handleSelect(" + i + ");\">" + dhtml_optionsArray[i][0] + "</a><br>"; obj.innerHTML += mHTML; } } else { document.getElementById("dhtml_select_dummy").style.display="block"; obj.style.display="none"; isExpanded = false; } } function handleSelect(mID) { isExpanded = false; document.forms.frm1.dhtml_select_value.value = dhtml_optionsArray[mID][1]; document.getElementById("dhtml_select_dummy").innerHTML = dhtml_optionsArray[mID][0]; document.getElementById("dhtml_select_dummy").style.display="block"; document.getElementById("dhtml_select_options").style.display="none"; } function doCover() { if(document.getElementById("cover").style.display == "block") { document.getElementById("cover").style.display = "none"; } else { document.getElementById("cover").style.display = "block"; } } </script>
HTML:
Código:
No sé si el problema este en el CSS o en alguna de las funciones de JS (que si es ésto último, estoy más cagado aun )<div id="dhtml_select"> <img onClick="buttonClicked();" src="dhtml_select_button.gif" style="position:absolute;top:0px;left:104px;z-index:10;"> <div id="dhtml_select_dummy">Seleccione</div> <div id="dhtml_select_options" class="m_dhtml_select_options"></div> </div>
Si alguien sabe qué tocar...
Gracias!