2016-04-18 5 views
0
folgen

So habe ich einen Code, der den Standard-Marge und Polsterung für den HTML-Code setzt auf 0HTML-Liste nicht CSS-Marge Regeln

CSS:

body,html { 
    padding: 0; margin: 0; 
    width:100%;font-family:arial; 
} 
#headingUl li{ 
    list-style-type:none; 
} 
    </style>  

HTML:

<div id="heading"> 
    <ul id="headingUl"> 
     <li>a</li> 
     <li>b</li> 
     <li>b</li> 
    </ul> 
</div 

... aber die Listen haben immer noch einen linken Rand.

enter image description here

+2

Loswerden 'ul' hat standardmäßig' padding-left', so dass Sie es entfernen sollte. –

+1

Wenn Sie einen Haken mit dieser unerwarteten Formatierung treffen, werden Sie mehr mit anderen html Elementen treffen, die Sie jetzt nicht benutzen, aber meine Verwendung in der Zukunft. https://necolas.github.io/normalize.css/ ist eine großartige Ressource, um zu verstehen, wie browserspezifische Eigenschaften, die auf HTML-Elemente angewendet werden, zurückgesetzt werden. – fauverism

+0

Ich stimme dir zu @fauverism die Reset-Methode, die ich propuse ist sehr einfach. –

Antwort

2
#headingUl { 
    list-style-type:none; 
    padding: 0; 
    margin: 0; 
} 

Browser gesetzt Standard ul, ol padding. Sie müssen es überschreiben.

Sie können es auf allen Listen nicht zurückgesetzt wieder darum zu kümmern:

ul, ol { 
    list-style-type:none; 
    padding: 0; 
    margin: 0; 
} 
+1

hat nicht funktioniert :( –

+0

Sorry, kopiert zu viel von Ihrem sleector, es muss auf der Liste (ul/ol, nicht li) eingestellt werden, ich habe Selektor korrigiert. –

+0

aber diese Lösung wird nur auf die # headingUl-Liste angewendet werden, wenn Sie eine weitere Liste auf Ihrem HTML-Code hinzufügen, wird das Problem erneut angezeigt. –

2

Um diese Art von Verhalten zu vermeiden Sie die automatischen Stile zurücksetzen sollte.

*{ 
    margin:0px; 
    padding: 0px; 
} 
1

Als @Nenad Vracar sagte ul Element einen auf 40px eingestellte Standard padding-left oder margin-left Wert hat.

Siehe Dokumentation hier: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Lists_and_Counters/Consistent_list_indentation

Sie müssen es so zu überschreiben:

#headingUl { padding-left:0; margin-left: 0; } 

In Internet Explorer und Opera werden die Listen eingekerbt durch einen linken Rand von 40 Pixel einstellen auf dem Element. Gecko, auf der anderen Hand setzt ein linkes Polster von 40 Pixel für das Element

1

Sie padding:0; und margin:0; zum html Container zuzugeordnet und den body Behälter, der nicht die inneren Elemente beeinflussen, so dass Sie die Notwendigkeit hinzufügen folgende zu Ihren Stilen:

ul { 
    padding:0; 
    margin:0; 
} 
0

Ich empfehle Ihnen Hard Reset alle Eigenschaften mit dem Programm von Eric Meyer - CSS Reset erstellt.

http://meyerweb.com/eric/tools/css/reset/

Für den schnellen Einsatz Code nutzloser Füllung unter

* { 
    padding: 0; 
    margin: 0; 
}