Es gibt eine Liste von Elementen als Dropdown-Liste.Beschränken Sie innerhalb eines Bereichs die Hintergrundbildgröße von einem Sprite.
Am Anfang jeder Zeile ist das Padding für das Hintergrundbild reserviert, das als führendes Symbol angezeigt wird. Das Bild stammt von einem langen vertikalen Bildsymbol. Jetzt ist das Problem, dass eine Zeile mit langem Text in die nächste Zeile eingeschlossen wird, und da die Höhe erhöht wird, wird im Symbolbereich das darunterliegende Symbol angezeigt.
Meine Frage ist, ohne die Struktur des HTML zu ändern, gibt es trotzdem ein Symbol in jeder Zeile anzuzeigen, egal, die Höhe der Zeile ist? Danke vielmals!
HTML:
<ul>
<li>
<a class="deactivate">
<span>Deactivate the service</span>
</a>
</li>
<li>
<a class="edit">
<span>Edit </span>
</a>
</li>
<li>
<a class="delete">
<span>Delete</span>
</a>
</li>
</ul>
CSS:
ul {
width: 100px;
overflow: hidden;
line-hight: 1.25;
}
li {
list-style: none;
margin-bottom:10px;
}
a {
text-align: left;
cursor: pointer;
padding: 5px 5px 3px;
}
a > span {
padding: 2px 0 2px 20px;
display: inline-block;
background-image: url(http://cpqa.catchpoint.com/HawkUI/App_Themes/NewUI/images/icons/ico-db-sprite.png);
background-repeat: no-repeat;
font-size: 12px;
}
a.deactivate > span {
background-position: -2px -382px;
background-repeat: no-repeat;
}
a.delete > span {
background-repeat: no-repeat;
background-position: -2px -322px;
}
a.edit > span {
background-repeat: no-repeat;
background-position: -2px -362px;
}
https://jsfiddle.net/zcdbLLfw/
Dank für die Beantwortung. Ich denke, dass ich nach etwas ohne zusätzliche Polsterung suche. –
@ Z.Z. Du meinst das 'Padding-Right: 8px' ?, das du selbst leicht anpassen kannst, meine Antwort zeigt einen Weg, um das zu erreichen, was du mit einem Sprite-Bild erreichen willst ... Ich habe das aktualisiert und die Pseudobreite etwas angepasst Lass es besser aussehen als in deinem Beitrag. – LGSon
@ Z.Z. Wenn Sie möchten, dass es im vorhandenen Hintergrund funktioniert, müssen Sie den Abstand zwischen jedem Element in Ihrem 'png' erhöhen, um eine zusätzliche Zeile oder 2, ... auszugleichen, oder Sie benötigen eine zweite Bild/Hintergrundfarbe für decken Sie das gleiche ab. .. Wie auch immer, ein Pseudo-Element wird dies am besten tun, unabhängig von der Anzahl der Zeilen, die ein Element haben – LGSon