Heim  >  Artikel  >  Web-Frontend  >  CSS-Lösung für das Problem der Symbolbildausrichtung von List-Style-Image

CSS-Lösung für das Problem der Symbolbildausrichtung von List-Style-Image

黄舟
黄舟Original
2017-06-29 10:25:582839Durchsuche

Erstens bin ich bereits auf dieses Problem gestoßen, als ich zum ersten Mal CSS gelernt habe, was wahrscheinlich mehr als ein halbes Jahr her ist. Später, als ich keine andere Wahl hatte, wechselte ich zur Verwendung von Tabellen, um mit kleinen Symbolen umzugehen und Text. Aber heute wollte ich aus einer Laune heraus nicht die Form verwenden, die nach Maßstäben als „böse“ galt, sodass das Problem von vor n Monaten wieder auftauchte.

Erwartete Implementierungswiedergaben:

CSS-Lösung für das Problem der Symbolbildausrichtung von List-Style-Image

Beginnen Sie mit der CSS-Definition:

#main ul{
 display:inline;
 margin: 0px;
 padding:0px;
   list-style: url(../images/dot.gif) outside;
 }
 #main li {
 line-height:150%;
 }

Wirkung in IE und Firefox:

CSS-Lösung für das Problem der Symbolbildausrichtung von List-Style-Image

Das kleine rote Dreieck betrügt tatsächlich. Ich habe eine Weile herumgespielt, komme aber immer noch nicht dahinter. (Beachten Sie, dass das kleine Symbol ursprünglich nicht in vertikaler Richtung am Text ausgerichtet war. Es wurde später mit Fireworks erhöht. Dieser Punkt versteht sich von selbst.)

Ich wollte im klassischen Forum zu posten, aber ich fand es zu mühsam, also habe ich überall nach verwandten Beiträgen gesucht.

Endlich habe ich eines gefunden und wurde inspiriert, dieses kleine rote Dreieck als Hintergrundbild des Li zu verwenden.

Wir haben also die folgende cleverere und zielgerichtetere Definitionsmethode:

#main ul{
 display:inline;
 margin: 0px;
 padding:0px;
   list-style-type:none;
 }
 #main li {
 background: url(../images/dot.gif) left top no-repeat;
    line-height:150%;
 }

Der Effekt ist wie folgt:

CSS-Lösung für das Problem der Symbolbildausrichtung von List-Style-Image

Erweiterung: Aber was soll ich tun, wenn ich das im Bild unten gezeigte kleine Icon am äußeren Ende des Textes implementieren möchte?

CSS-Lösung für das Problem der Symbolbildausrichtung von List-Style-Image

(1) Zu Beginn wollte ich den linken Füllraum (padding-left) nutzen, um das Hintergrundbild zu leeren. Also #main li {

padding-left:12px; 
background: url(../images/dot.gif) left top no-repeat;    line-height:150%; }

aber der Effekt ist nicht wie erwartet, wie folgt:

CSS-Lösung für das Problem der Symbolbildausrichtung von List-Style-Image

Warum „31. März“ „Wie viele offene Stellen liegen vor mir?“ Übrigens, das li-Attribut lässt in der ersten Zeile automatisch einen zeichengroßen Platz für kleine Symbole, selbst wenn Sie list-tyle-type:none definieren.

(2) Als ich die obige Zeile in diesem Beispiel schrieb, wollte ich die Quelldatei wieder in ihr ursprüngliches Aussehen zurückversetzen, also habe ich den Hintergrund in li gelöscht: url(../images/dot.gif ) left top no -repeat; Nachdem ich mir diesen Satz angesehen hatte, war ich angenehm überrascht, dass der perfekte Effekt im IE erschien.

#main ul{
 display:inline;
 margin: 0px;
 padding:0px;
   list-style: url(../images/dot.gif) outside;
 }
 #main li {
 padding-left:12px;
 line-height:150%;
 }

Rendering:

CSS-Lösung für das Problem der Symbolbildausrichtung von List-Style-Image

Der einzige Nachteil ist, dass Sie in Firefox nicht so viel Glück haben,

Padding hat keine Auswirkung auf das kleine Symbol:

CSS-Lösung für das Problem der Symbolbildausrichtung von List-Style-Image

Mit der Einstellung, ein totes Pferd wie ein lebendes Pferd zu behandeln, habe ich padding-left:12px in margin-left geändert :12px;

Vorschau:

dh: CSS-Lösung für das Problem der Symbolbildausrichtung von List-Style-Image

Firefox: CSS-Lösung für das Problem der Symbolbildausrichtung von List-Style-Image

Oh, ist das wahr?

Abgesehen davon, dass der Abstand zwischen kleinen Symbolen und Text in Firefox etwas größer ist als im IE, ist er wirklich nahezu perfekt.

Lasst uns Feuerwerkskörper zünden, um zu feiern!

Zuletzt erinnern wir uns an die Standarddefinitionsmethode von list-style-type:image;:

#main ul{
 display:inline;
 margin: 0px;
 padding:0px;
   list-style: url(../images/dot.gif) outside;
 }
 #main li {
 margin-left:12px;
 line-height:150%;
 }

Das obige ist der detaillierte Inhalt vonCSS-Lösung für das Problem der Symbolbildausrichtung von List-Style-Image. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn