28172 sujets

CSS et mise en forme, CSS3

Pages :
Modérateur
(reprise du message précédent)

Bonjour,

J'image qu'il s'agit de centrer le plus au milieu de son cercle.

Je ne connais pas le comportement du "+" de la police "Glyphicons Halflings". Mais il me semble a priori illusoire d'espérer le centrer partout.

A titre d'exemple avec des caractères que je connais mieux, ci-dessous, je mets les deux mêmes flèches sur chaque ligne, et sur la première ligne, je les écris sans espace entre elles, et sur la deuxième ligne, je mets un espace entre elles. La deuxième flèche change carrément de forme.

??
? ?

EDIT : aie, pas vu que ça ne marchait pas sur le forum de mettre les caractères directs. Voici une version codée :
↙↘
↙ ↘

EDIT2 : qu'il va vous falloir recopier quelque part pour voir quelque chose ! Désolé !

EDIT3 : un jsfiddle http://jsfiddle.net/28q1bwtq/

Il vaudrait mieux faire le "+" avec des bordures ou du javascript ou du svg.

Amicalement,
Modifié par parsimonhi (05 Feb 2016 - 19:51)
parsimonhi a écrit :
Je n'ai pas bien compris ce qui doit être centré. Est-ce le "+" qui doit être centré au milieu du cercle, ou bien est-ce l'ensemble "+" + cercle qui doit être centré (horizontalement sur sa ligne ?) ?


C'est le "+" qui doit être centré au milieu du cercle.

C'est tout de même bizarre de ne pas pouvoir centrer partout un icon ?

Il est possible d'utiliser du svg uniquement en CSS ? Malgré mes recherches je n'ai pas trouvé d'infos claires sur le sujet.
Modifié par Geraldt (05 Feb 2016 - 19:54)
Modérateur
Geraldt a écrit :
Il est possible d'utiliser du svg uniquement en CSS ?


Il suffit de mettre un truc du genre :

background: url(plus.svg);


C'est a priori assez bien supporté par les navigateurs (mais il te faudra vérifier si c'est suffisamment supporté dans ton cas).

Amicalement,
parsimonhi a écrit :


Il suffit de mettre un truc du genre :

background: url(plus.svg);


C'est a priori assez bien supporté par les navigateurs (mais il te faudra vérifier si c'est suffisamment supporté dans ton cas).

Amicalement,


J'ai un fichier svg qui regroupe plusieurs icônes, il y a une syntaxe particulière dans ce cas pour sélectionner l'icon que l'on souhaite utiliser ?
Modérateur
Bonjour,

A priori, je mettrai mon icône toute seule dans un fichier svg à part.

Amicalement,
Modérateur
Bonjour,

J'ai fait quelques tests sous firefox 43.0.4 sous Mac OS.

Yordi a écrit :
Voici une proposition : http://codepen.io/anon/pen/zrmqLR


Pas centré chez moi (le "+" est légèrement décalé vers le bas).

gc-nomade a écrit :
eventuellement, si flex te convient tu peut t'en servir sur le pseudo element:

https://jsfiddle.net/xmx4xcfc/7/


Pas centré chez moi (le "+" est légèrement décalé vers la gauche et vers le bas).

gc-nomade a écrit :
bonsoir, sous w7 chrome,safari,opera,FF,IE j'ai le même renduavec le test suivant:

- avec la font chargée,
- avec ou sans bordures
- avec un zoomx3 pour percevoir un peu mieux le decalage (minime en fait)
https://jsfiddle.net/xmx4xcfc/9/ (ajout des prefixes pour les navs plus anciens)


Pas centré chez moi (les "+" sont légèrement décalés vers la gauche et vers le bas).

Amicalement,
Modifié par parsimonhi (05 Feb 2016 - 20:22)
Modérateur
Bonjour,

Et la police "Glyphicons Halflings", elle est où dans tout ça ?

Amicalement,
Modifié par parsimonhi (05 Feb 2016 - 20:26)
Elle est dans bootstrap (linké avec le fiddle).

Le decalage est bien preceptible en scale(3);
upload/22213-glyph.jpg

Après pour le pixel perfect, je suis pas sur que .. , ça reste une police et chaque caractères a ses spécificités et si la police n'est chargées qu'un coup sur deux ...
Modifié par gc-nomade (05 Feb 2016 - 23:40)
Modérateur
Bonjour,

Et en essayant ça (un bête "+" en police "Arial") :
ul > li > a {
  font-size:0;
  border-radius:50px;
  height:50px;
  width:50px;
  border:2px solid #ccc;
  position:relative;
  display:block;
  text-decoration:none;
}
ul > li > a:before {
  font-family:arial;
  content:"+";
  display:block;
  position:absolute;
  text-align:center;
  font-size:50px;
  line-height:50px;
  top:0;
  left:0;
  right:0;
  bottom:0;
}
EDIT : un jsfiddle (avec la mire de gc-nomade en prime) http://jsfiddle.net/3ym4m7qn/

EDIT 2 : variante sans caractère (on utilise le background des :before et :after pour faire le "+") http://jsfiddle.net/deh7wkoy/

Amicalement,
Modifié par parsimonhi (06 Feb 2016 - 03:32)
C'est parfaitement centré parismonhi, mais par contre j'ai besoin d'utiliser plusieurs icônes, et pas seulement le "+". D'où l'intérêt de la font icon.

Je crois que je vais être obligé de laisser tomber et passer par une autre technique, position absolute éventuellement...

Mais c'est tout de même très étrange de ne pas réussir à centrer cet élément !
Modérateur
Bonjour,

Le manuel de l'intégrateur dit au chapitre 1, paragraphe 1, ligne 1 :

Tu n'utiliseras pas les polices de caractères pour dessiner des figures géométriques au pixel près.

Si ça ne se centre pas, c'est probablement que le concepteur de la police "Glyphicons Halflings" n'a pas prévu que ça se centre.

En plus de ça, il y a probablement des effets de bord provenant de bootstrap. Si par exemple je rajoute bootstrap dans l'exemple http://jsfiddle.net/3ym4m7qn/, même en utilisant "arial", et alors que c'était parfaitement centré sans bootstrap avec le même code, ça décale le "+" vers le bas.

Amicalement,
Modifié par parsimonhi (07 Feb 2016 - 13:57)
Modérateur
Hello,

Revoici une nouvelle tentative et c'est plutôt compliqué !! C'est un soucis de typo.
Pour être sûr de centrer l'icône, j'ai fais le test en la positionnant en absolute et puis en faisant un translate de -50% pour m'assurer que ce soit parfaitement centré !

Pour éviter de me faire mal aux yeux j'ai agrandi le <a> simplement avec un transform scale... Et là, surprise ! Selon le scale, le plus se centre (ou non) parfaitement...

Voici le codepen : http://codepen.io/anon/pen/yeGYOM
Supprimer les commentaires des transform: scale(...) un à un pour voir ce qu'il se passe !


Comme ça a été dit dans un post voisin, la typo c'est un autre monde.


@gc-nomade : Vraiment chouette l'idée de la mire !
Pages :