Avatar billede goet Nybegynder
29. august 2005 - 23:51 Der er 5 kommentarer

border omkring submenu

Jeg vil gerne have en box rundt om undermenuen i denne menu:
<HTML>
<HEAD>
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
<STYLE TYPE="text/css">
td {
display:block;
vertical-align: top;
}
.menuPunkt, .menuPunkt a{
text-decoration: none;
font-family: verdana,arial,sans-serif ;
color: black ;
font-size: 16px ;
font-weight: normal ;
cursor:hand;   
}
.menuText, .menuText a{
background-color: white;
text-decoration: none;
font-family: verdana,arial,sans-serif ;
color: black ;
font-size: 9px ;
font-weight: normal ;
cursor:hand;
.border, .border a{
border: 1px solid #99CCCC;
}


</STYLE>

<style><!--
A:link {text-decoration: none; color: #000000;}
A:active {text-decoration: none; color: #000000;}
A:visited {text-decoration: none; color: #000000;}
A:hover {text-decoration: none; color: #99CCCC;}
--></style>

<SCRIPT LANGUAGE="javascript" TYPE="text/javascript">
function trim(txt){
return txt.replace(/^\s*(.*?)\s*$/, "$1");
}
function getI(object,elementId){
  return object.getElementById(elementId)
}
function getTs(object,tagName){
  return object.getElementsByTagName(tagName)
}
</SCRIPT>
<SCRIPT LANGUAGE="javascript" TYPE="text/javascript">
function posMenu(){
    refElm = document.getElementById('minRefImg');
  for(var zx=zy=0;refElm!=null;zx+=refElm.offsetLeft,zy+=refElm.offsetTop,refElm=refElm.offsetParent);
  divMenu = document.getElementById('menu');
  divMenu.style.left=zx;
  divMenu.style.top=zy;
  posText(zx,zy);
}
var men = 6;// Number of active menus
function posText(x,y){
  for(i=1;i<=men;i++){
    punkt=document.getElementById('menupunkt'+i);
    for(var zx=zy=0;punkt!=null;zx+=punkt.offsetLeft,zy+=punkt.offsetTop,punkt=punkt.offsetParent);
      obj=document.getElementById('menutext'+i);
    obj.style.left=zx-x+115;
    obj.style.top=zy-y+5;
  }
}
function showFrame(frm){
  par=getI(top.document,frm).parentNode;
  frms=getTs(par,"IFRAME");
  for (i=0;i<frms.length;i++){
    if (frms[i].id==frm){
      frms[i].style.display="block"
    }else{
      frms[i].style.display="none"
    }
  }
}
function showMenu(nr){
    obj=document.getElementById('menutext'+nr);
    obj.style.display="block";
}
function hideMenu(nr){
    document.getElementById('menutext'+nr).style.display='none';
}


</SCRIPT>
</HEAD>
<BODY STYLE="width:100%;height:100%;vertical-align:middle;" onload="posMenu()" onresize="posMenu()">
    <TABLE COLS="3" BORDER="0" STYLE="width:150px;height:200px">
       
        <TR STYLE="height:80%">
            <TD STYLE="width:10%;height:80%">&nbsp;</TD>
            <TD STYLE="width:80%;height:80%;border:1px solid 1px solid #99CCCC;"><IMG ID="minRefImg" SRC="transparent.gif" HEIGHT="1" WIDTH="1"></IMG>&nbsp;</TD>
            <TD STYLE="width:10%;height:80%">&nbsp;</TD>
        </TR>
        <TR STYLE="height:10%"><TD COLSPAN="3">&nbsp;</TD></TR>
    </TABLE>
    <div ID="menu" STYLE="position:absolute;top:0;left:0;display:block;overflow:no">
 
  <TABLE ONMOUSEOVER="showMenu(1);" ONMOUSEOUT="hideMenu(1);"><TR><TD>
    <DIV ID="menupunkt1" CLASS="menuPunkt" STYLE="display:block"><A HREF="java script:showFrame('Init');">Products &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</A>
        <DIV ID="menutext1" CLASS="menuText" STYLE="display:none;z-index:2;position:absolute;">&nbsp;&nbsp;<a href="produktgr1.htm" target="indhold">produktgr1</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>
&nbsp;&nbsp;produktgr2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;produktgr3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;produktgr4<BR>&nbsp;&nbsp;produktgr5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;produktgr6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;produktgr7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR></DIV></DIV>
    </TD></TR></TABLE>
 
<TABLE ONMOUSEOVER="showMenu(2);" ONMOUSEOUT="hideMenu(6);"><TR><TD>
    <DIV ID="menupunkt5" CLASS="menuPunkt" STYLE="display:block">
Process&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    </DIV>

 
    <TABLE ONMOUSEOVER="showMenu(3);" ONMOUSEOUT="hideMenu(3);"><TR><TD>
    <DIV ID="menupunkt3" CLASS="menuPunkt" STYLE="display:block">Clients &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <DIV ID="menutext3" CLASS="menuText" STYLE="display:none;z-index:2;position:absolute;">&nbsp;&nbsp;menutext3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;menutext3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;menutext3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR></DIV></DIV>
    </TD></TR></TABLE>
    <TABLE ONMOUSEOVER="showMenu(4);" ONMOUSEOUT="hideMenu(4);"><TR><TD>
    <DIV ID="menupunkt4" CLASS="menuPunkt" STYLE="display:block">Contact &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <DIV ID="menutext4" CLASS="menuText" STYLE="display:none;z-index:2;position:absolute;">&nbsp;&nbsp;menutext4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;menutext4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;menutext4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR></DIV></DIV>
    </TD></TR></TABLE>
    <TABLE ONMOUSEOVER="showMenu(5);" ONMOUSEOUT="hideMenu(5);"><TR><TD>
    <DIV ID="menupunkt5" CLASS="menuPunkt" STYLE="display:block">Background &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <DIV ID="menutext5" CLASS="menuText" STYLE="display:none;z-index:2;position:absolute;">&nbsp;&nbsp;menutext5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;menutext5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;menutext5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR></DIV></DIV>
    </TD></TR></TABLE>
    <TABLE ONMOUSEOVER="showMenu(6);" ONMOUSEOUT="hideMenu(6);"><TR><TD>
    <DIV ID="menupunkt5" CLASS="menuPunkt" STYLE="display:block"><a href="indhold.htm" target="indhold">Home</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    </DIV>
    </TD></TR></TABLE>
</div>
</BODY>
</HTML>

Men hvis jeg sætter .border ind i stylesheet'et, kommer der små bokse rundt om hvert enkelt menupunkt, ligesåsnart jeg sætter links på dem. Er der nogen, der har en anden løsning?
Ved samme lejlighed kunne man måske få ryttet ud i alle &nbsp;erne.
Avatar billede nielle Nybegynder
30. august 2005 - 07:58 #1
Du skal bare placerer din border på den div som indeholder alle menupunkterne:

<DIV ID="menupunkt1" CLASS="menuPunkt" STYLE="display: block;">
<A HREF="java script:showFrame('Init');">Products&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</A>
<DIV ID="menutext1" CLASS="menuText" STYLE="display: none; z-index: 2; position: absolute; border: 1px solid black;">&nbsp;&nbsp;<a href="produktgr1.htm" target="indhold">produktgr1</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>
&nbsp;&nbsp;produktgr2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>
&nbsp;&nbsp;produktgr3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>
&nbsp;&nbsp;produktgr4<BR>
&nbsp;&nbsp;produktgr5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>
&nbsp;&nbsp;produktgr6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>
&nbsp;&nbsp;produktgr7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<BR>
</DIV>
</DIV>

PS: I stedet for at bruge "&nbsp;" til at skuppe dine menupunkter, burde du heller bruge "left" og den slags CSS

http://www.w3schools.com/css/css_positioning.asp
Avatar billede goet Nybegynder
30. august 2005 - 22:52 #2
Tak for de gode råd, fik både borderen og margin-left til at virke.
Du eller en anden kan vel ikke gennemskue, hvad det er, der får undermenuerne i ovenstående menu til at rykke sig længere og længere til højre. Jeg ville jo gerne have dem til at holde samme afstand til hovedmenuen.
Jeg giver gerne point, så husk at sende som svar.
Avatar billede nielle Nybegynder
31. august 2005 - 17:26 #3
Det gør de af den simple grund at du placere dem i forhold til enden af menuteksterne i 1. niveau, og da f.eks. ”Contact” er længere end ”Client” så bliver menupunkterne efter ”Client” flyttet længere ind op siden. Specielt slemt er det med ”Background” som jo er den længste menutekst du har -  undermenuen ved denne er derfor flyttet ekstra langt ind på siden.
Avatar billede nielle Nybegynder
05. september 2005 - 19:20 #4
Har du fået kigget på det?
Avatar billede nielle Nybegynder
15. september 2005 - 18:20 #5
?
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