Glipa mellan bilder i meny som jag inte kan få bort. (html/css)

Permalänk
Medlem

Glipa mellan bilder i meny som jag inte kan få bort. (html/css)

Jag har nyligen börjat leka med html och css igen och tänkte göra en sida där jag kan lägga upp den grafik jag gjort för olika macsaker.

Jag har ett gammalt javascript som byter bild åt mig när jag håller muspekaren över den och den biten utgör min meny. Grejen är att mellan bilderna som ligger på rad horisontellt finns en glipa jag inte vet hur jag ska få bort, jag vill inte använda cellspacing="0" osv utan jag vill enbart köra css, grejen är att jag inte lyckas. Jag använder programmet Coda för tillfället men trots dess hjälp lyckas jag inte få bort dom.
Jag har även prövat lägga dom i en tabell, i en stor cell och varsin cell och tvinga storlekarna och ingenting får jag att fungera... Så sjukt irriterande. Jag är "självlärd" inom html php css och mina kunskaper är begränsade, så jag får hoppas att jag kan ta hjälp här.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Style-Type" content="text/css"> <title>DesignByDaniel</title> <meta name="Generator" content="Cocoa HTML Writer"> <meta name="CocoaVersion" content="1038.11"> <script language="JavaScript" type="text/JavaScript"> <!-- function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; } function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } //--> </script> </head> <Style type="text/css"> <!-- @import url("css.css"); --> </style> <body class="body" onLoad="MM_preloadImages('home1.png','homepressed.png','info1.png','infopressed.png','work1.png','workpressed.png','request1.png','requestpressed.png','mail1.png','mailpressed.png')"> <TABLE class="menu"> <TR> <TD> <div class="menuspacing"> <a href="index.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image2','','homepressed.png',1)"><img src="home1.png" name="Image2" border="0"></a> <a href="info.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image3','','infopressed.png',1)"><img src="info1.png" name="Image3" border="0"></a> <a href="work.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image4','','workpressed.png',1)"><img src="work1.png" name="Image4" border="0"></a> <a href="request.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image5','','requestpressed.png',1)"><img src="request1.png" name="Image5" border="0"></a> <a href="mail.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image6','','mailpressed.png',1)"><img src="mail1.png" name="Image6" border="0"></a> </div> </TD> </TR> </TABLE> </body> </html>

.body {background-color: #abbccb;} .menu {max-width: 965px; height: 20px; margin-left: 50px; padding: 0px;} .menuspacing {border-spacing: 0px 0px; word-spacing: 0px; margin: 0px; padding: 0px;}

Visa signatur

Ohrstrom @ Macbook Pro 15,4" 2.2 GHz Intel I7, 8 GB 1333 MHz DDR3

Permalänk
Medlem

Det är cellspacing som bråkar. Men du ska verkligen inte använda tabeller till det här. Se t.ex. ALAs "Taming Lists" för ett mycket bättre sätt att göra det på.

Permalänk
Medlem

Jag tror inte det är cellspacing utan ett resultat av att bilder är inline-element.. det blir samma sak med listelement om man omdefinierar dem med display: inline.

testa .menuspacing img {float:left} och se om det gör nån skillnad.

Visa signatur

Kom-pa-TI-bilitet

Permalänk

Jag tror Teknocide har helt rätt ang. att det är ett inline-element. Därför blir ju ett mellanrum i koden även ett mellanrum i själva layouten. Tänk dig som en text "ab" -> "a b". Vet inte om det försvinner med hjälp av display:block ? Hade samma problem jag med förut men kommer inte ihåg vad jag gjorde för att fixa det...

Visa signatur

Q6600 @ 3.2GHz | 2*4 Corsair XMS2 5-5-5-12 @ 1003 | Club3D HD4850 | Asus P5Q Pro

Permalänk
Medlem

Jag gjorde till lista och lyckades lösa problemet genom att ta bort min fina ordning mellan bilderna, dvs mellanrummen... men nästa problem jag inte kan trolla bort är det att det blir en glipa under bilderna med...

<body class="body" onLoad="MM_preloadImages('img/home1.png','img/homepressed.png','img/info1.png','img/infopressed.png','img/work1.png','img/workpressed.png','img/request1.png','img/requestpressed.png','img/mail1.png','img/mailpressed.png')"> <hr style="margin-left: 39px; margin-top: 100px; margin-bottom: 0px; size: 1px; color: #344556; padding: hidden; width: 762px;"> <ul style="margin: 0px;"> <li class="ul"><a href="index.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image2','','img/homepressed.png',1)"><img src="img/home1.png" name="Image2" border="0"></a></li><li class="ul"><a href="info.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image3','','img/infopressed.png',1)"><img src="img/info1.png" name="Image3" border="0"></a></li><li class="ul"><a href="work.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image4','','img/workpressed.png',1)"><img src="img/work1.png" name="Image4" border="0"></a></li><li class="ul"><a href="request.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image5','','img/requestpressed.png',1)"><img src="img/request1.png" name="Image5" border="0"></a></li><li class="ul"><a href="mail.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image6','','img/mailpressed.png',1)"><img src="img/mail1.png" name="Image6" border="0"></a></li> </ul> <hr style="margin-left: 39px; margin-top:0px; size: 1px; color: #344556; padding: hidden; width: 762px;">

linjen ovanför bilderna kan jag få precis inpå men den under hamnar med en glipa på ungefär 5 pixlar, kanske några till.

Visa signatur

Ohrstrom @ Macbook Pro 15,4" 2.2 GHz Intel I7, 8 GB 1333 MHz DDR3

Permalänk
Medlem

Jag får en känsla av att vi inte får se all din css. Vad har du satt på klassen .ul?
Skapa en div runtom din lista med klassen menu och prova lägg till detta i css.css:

.menu ul, .menu ul li { margin:0; padding:0; } .menu ul li { display:inline; float:left; }

För att sedan göra mellanrum mellan objekten kan du tex använda detta (och för att slippa skriva border="0" för varje bild):

.menu ul li img { margin-right:10px; border:0; }

Visa signatur

i7 920 | 12GB DDR3 | GTX 480 | GA-X58A-UD7 | 160GB SSD X25-M G2 | 1TB F3 HD103SJ | W7 64-bit | Mac Mini
Webb: bluekitestudios.com