Existe-t-il un moyen d'ajuster la position de l'image de style de liste?
Lorsque j'utilise le remplissage pour les éléments de liste, l'image restera à sa position et ne bougera pas avec le remplissage ...
css
image
html-lists
conception de données
la source
la source
list-style-image
s'il ne peut pas être positionné? Il semble qu'en conséquence la plupart des gens utilisent des solutions de contournement comme::before
et à labackground-image
place.Réponses:
Pas vraiment. Votre remplissage est (probablement) appliqué à l'élément de liste, il n'affectera donc que le contenu réel de l'élément de liste.
L'utilisation d'une combinaison de styles d' arrière - plan et de remplissage peut créer quelque chose qui ressemble par exemple
Vous cherchez peut-être à ajouter un style au conteneur de liste parent (ul) pour positionner vos éléments de liste à puces, cet article A List Apart a une bonne référence de départ.
la source
top
valeur a fonctionné pour moi au lieu du rembourrage supérieur.background: url(images/bullet.gif) no-repeat left 8px;
Je cache normalement le type de style liste et j'utilise une image d'arrière-plan, qui est mobile
Le "7px 7px" est ce qui aligne l'image d'arrière-plan à l'intérieur de l'élément et est également relatif au remplissage.
la source
Une solution possible à cette question qui n'a pas encore été mentionnée est la suivante:
Vous pouvez maintenant utiliser le haut / gauche du li: before pour positionner la nouvelle puce. Notez que la largeur et la hauteur du li: before doivent avoir les mêmes dimensions que l'image d'arrière-plan que vous choisissez. Cela fonctionne dans Internet Explorer 8 et plus.
la source
J'ai eu le même problème, mais je ne pouvais pas utiliser l'option d'arrière-plan (et je ne voulais pas utiliser plusieurs arrière-plans) alors j'ai pensé à une autre solution
ceci est un exemple de menu qui a un indicateur en forme de carré pour l'élément de menu actif / actuel (le style de liste par défaut est défini sur aucun dans une autre règle)
il crée un carré en utilisant un caractère carré avec la pseudo classe ": before" et il est librement positionnable en utilisant le positionnement absolu.
la source
Voici ce que j'ai fait pour que de petits blocs gris soient sur le côté gauche et au centre du texte avec une hauteur de ligne augmentée:
J'espère que cela aide quelqu'un: D
la source
La solution que j'ai choisie à la fin était de modifier l'image elle-même pour ajouter un espacement.
Utiliser une image d'arrière-plan sur le li comme certains le suggèrent fonctionne dans de nombreux cas mais échoue lorsque la liste est utilisée à côté d'une image flottante (par exemple pour que le texte s'enroule autour de l'image).
J'espère que cela t'aides.
la source
Une autre option que vous pouvez faire est la suivante:
Utilisez (0 3px) pour positionner l'image de la liste.
Fonctionne dans IE8 +, Chrome, Firefox et Opera.
J'utilise cette option car vous pouvez facilement changer de style de liste et il est fort probable que vous n'ayez même pas à utiliser une image du tout. (violon ci-dessous)
http://jsfiddle.net/flashminddesign/cYAzV/1/
METTRE À JOUR:
Cela tiendra compte du texte / contenu entrant dans la deuxième ligne:
Ajoutez padding-left: au li si vous voulez plus d'espace entre la puce et le contenu.
http://jsfiddle.net/McLeodWebDev/wfzwm0zy/
la source
Ou vous pouvez utiliser
la source
Je pense que ce que vous voulez vraiment faire est d'ajouter le rembourrage (que vous ajoutez actuellement au <li>) à la balise <ul>, puis les puces se déplaceront avec le texte du <li>.
Il y a aussi la position de style de liste que vous pourriez examiner. Cela affecte la façon dont les lignes s'enroulent autour des images de puces.
la source
comme la réponse «un darren» mais une modification mineure
cela fonctionne dans plusieurs navigateurs, ajustez simplement le remplissage et la marge
Modifier pour imbriqué: ajoutez ce style pour ajouter une marge gauche à la liste sous-imbriquée
la source
J'utilise quelque chose comme ça, cela me semble assez propre et simple:
Le code ci-dessus fonctionne tel quel dans la plupart de mes cas.
Pour un ajustement précis, vous pouvez modifier
vertical-align
, par exemple:Vous pouvez activer
list-style: none
auli
lieu deul
si vous préférez.la source
Je trouve la réponse acceptée un peu fudge, bien trop doit être bousculée avec un rembourrage supplémentaire et des commandes css.
Je n'ajoute jamais de remplissage aux éléments de liste personnellement, contrôlant normalement leur hauteur de ligne et la marge occasionnelle suffit.
Lorsque j'ai un problème d'alignement avec des images de style de liste personnalisées, j'ajoute simplement un pixel ou deux d'espace supplémentaire autour de n'importe quel côté requis pour ajuster sa position par rapport à chaque ligne de liste.
la source
solution avec fontawesome
la source
Cachez l'image de puce par défaut et utilisez
background-image
car vous avez beaucoup plus de contrôle comme:la source
la source