webForumDet fria alternativet

Ta bort horisontell scrollbar?

HTML & CSSur HTML, XHTML & CSS

9 svar · 439 visningar · startad av pettsson

Medlem sedan jan. 20021 122 inlägg
Frågan#1

Har ett span-element med overflow: scroll. Fungerar fint i IE, får en vertikal scrollbar så jag kan läsa allt i elementet. Men i Firefox får jag en horisontell scrollbar även fast den inte behövs. Hur får jag bort den?

Medlem sedan dec. 20042 245 inlägg
#2

overflow:auto; :)

Medlem sedan jan. 20021 122 inlägg
#3

Prövat det också, fortfarande scroll på horisontellt och vertikalt på FF, och fortfarande inte på IE

Medlem sedan okt. 20005 273 inlägg
#4

Varför använder du ett span-element? Testa att använda ett div-element istället med en width satt på det.

Annars underlättar det om du visar lite kod eller en länk till problemet :)

mv icaaq

Medlem sedan jan. 20021 122 inlägg
#5

Så vitt jag förstått är skillnaden mellan dem att div är ett block-element och span är inline, och istället för att styla div till display: inline så kunde jag använda span. Fel?

Koden:

      <span style="position: absolute; top: 22em; left: 353px; height: 12.3em; width: 247px; overflow: auto;">
       Linked files:<br>
       <ul style="margin-top: 2px; margin-left: 2px; padding-left: 2px; list-style-position: outside; list-style-type: none">
       <?
        $filesdir = opendir($dirname);
        while($fname = readdir($filesdir)) {
         if($fname != "." && $fname != "..")
          print "<li><a href=\"$dirname/$fname\" target=\"_blank\">$fname</a></li>\n";
        }
       ?>
       </ul>
      </span>

Vad den gör är alltså att loopa ut filerna i en mapp till en lista. Då denna funktion efterfrågades sent i arbetet så är det ont om plats, så därav de lite underliga proportionerna :)

Medlem sedan jan. 2000978 inlägg
#6

Fast du får inte ha en <ul> i en <span>.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
 <head>
  <title lang="sv">Kolumner</title>
  <style type="text/css">
  	div {
		position: absolute;
		top: 22em;
		left: 353px;
		height: 12.3em;
		width: 247px;
		overflow: auto;
	}

	ul {
		margin:0;
		padding:0
	}

	li {
		display:block;
			
	}
	
	
  </style>
 </head>
 <body>
  <div>
       Linked files:<br>
       <ul>
      
          <li><a href="#">Filen</a></li>
          <li><a href="#">Filen</a></li>
          <li><a href="#">Filen</a></li>
          <li><a href="#">Filen</a></li>
          <li><a href="#">Filen</a></li>
          <li><a href="#">Filen</a></li>
          <li><a href="#">Filen</a></li>
          <li><a href="#">Filen</a></li>
          <li><a href="#">Filen</a></li>
          <li><a href="#">Filen</a></li>
          <li><a href="#">Filen</a></li>
          <li><a href="#">Filen</a></li>
        
       </ul>
      </div>
 </body>
</html>
Medlem sedan mars 20041 505 inlägg
#7

Med tanke på att <span> är inline så får det inte ha någon höjd eller bredd. Om du då sätter overflow så kan väl inte webbläsaren veta när det ska bli scroll, eftersom det inte finns någon höjd eller bredd.

Medlem sedan jan. 20021 122 inlägg
#8

Aha, då har jag missuppfattat. Tackar :)
/r
Hm, det funkar dåligt även med div, även om det är rättare :l

Medlem sedan jan. 2000978 inlägg
#9

Troxy skrev:

Med tanke på att <span> är inline så får det inte ha någon höjd eller bredd. Om du då sätter overflow så kan väl inte webbläsaren veta när det ska bli scroll, eftersom det inte finns någon höjd eller bredd.

Fast position:absolute genererar en blockbox, alltså samma som när man anger display:block och då kan man sätta höjd och bredd även på ett span-element.

pettsson skrev:

Hm, det funkar dåligt även med div, även om det är rättare

Jag vet inte om du testade mitt exempel?
Men en lista skapar alltid utrymme för varje <li>:s markör även om du sätter list-style-type:none
Om du inte vill visa listan som en lista med markörer och ökade vänstermarginaler kan du lika gärna sätta display:block på <li>.

/Red
list-style-position: inside; löser också problemet med utrymmet som tas upp av markörerna.

/Red II

Med andra ord så räcker det att du byter 'outside' till 'inside' i din kod, men jag skulle föredra lösningen med display:block.

Medlem sedan jan. 20021 122 inlägg
#10

Härligt, det funkar :) Många tack

133 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)