BullGuard Antivirus Sale - 60% Off with openElement !
Accueil Forum Accueil Forum >

openElement

> Discussion générale openElement
  Nouveaux messages Nouveaux messages Fil RSS  - centrage de texte sur bloc de texte multi
  FAQ FAQ  Rechercher dans le Forum   Inscription Inscription  Connexion Connexion

centrage de texte sur bloc de texte multi

 Répondre Répondre Page  12>
Auteur
Message
brolysan allez vers le bas
Admin Group
Admin Group
Avatar

Depuis le: 14 Août 2009
Pays: France
Status: Inactif
Points: 10144
Options des messages Options des messages   Thanks (0) Thanks(0)   Citer brolysan Citer  RépondreRéponse Lien Direct à ce Post Sujet: centrage de texte sur bloc de texte multi
    Envoyé : 31 Mar 2016 à 10:15
Salut,

Ayant besoin de dérouler "rapidement" plusieurs pages sur un projet en cours, je me retrouve à faire des blocs de texte (en relative) pour une mise à jour d'un site en responsive (qui est d'ailleurs la base de mon tutoriel à venir pour les media queries d'OE).

Ma problématique est la suivante :

1 bloc de texte multi lignes.
Hauteur de ligne 24 px
1 image à l'intérieur à gauche avec centrage au milieu sur le texte et margin-right et margin-bottom à 10px (d'ailleurs Dmit, ma demande d'automatiser sans avoir à retaper le texte serait top !! 200 blocs à faire...haaaa).

Je joue ensuite avec les media queries pour les différentes résolutions d'écran mais là pas de souci.

Ma problématique est donc que je puisse centrer le texte sur l'image.

Exemple donc :

Actuellement


Souhaité :



J'ai essayé quelques code css pour forcer le centrage mais sans succès.

L'autre solution serait de refaire chaque élément par un panneau d'éléments, mettre 1 image et un bloc de texte puis de forcer le centrage, mais guère motivé à refaire ce que j'ai déjà fait (gestion media queries surtout).

bref, si quelqu'un à une solution merci Wink

PS (Spécial demande à Dmit) :
Dans Styles, Personnalisation, il y a dans la section Textes l'alignement vertical. J'avais déjà cherché il y a quelques mois (années???) à quoi cela correspondait. mais j'ai beau testé chaque ligne, rien ne change. Aurais tu des précisions ou bien c'est pour la déco maintenant cette fonction? Wink


Edité par brolysan - 31 Mar 2016 à 10:54
Haut de la page
Larsene allez vers le bas
Admin Group
Admin Group


Depuis le: 05 Mar 2012
Pays: France
Status: Inactif
Points: 5388
Options des messages Options des messages   Thanks (0) Thanks(0)   Citer Larsene Citer  RépondreRéponse Lien Direct à ce Post Envoyé : 31 Mar 2016 à 11:07
Ton conteneur (cadre qui contient image et bloc de texte) doit avoir une hauteur de ligne égale à sa propre hauteur.

Ton bloc de texte doit avoir une hauteur classique et un vertical-align : middle

éventuellement, forcer le code CSS :


.txt{
vertical-align:middle !important;
display:inline-block !important;
line-height:1.2 !important;
text-align:left; !important;
}


(edit) hack important et orthaugraphe ;-)


Edité par Larsene - 31 Mar 2016 à 11:08
Haut de la page
Larsene allez vers le bas
Admin Group
Admin Group


Depuis le: 05 Mar 2012
Pays: France
Status: Inactif
Points: 5388
Options des messages Options des messages   Thanks (1) Thanks(1)   Citer Larsene Citer  RépondreRéponse Lien Direct à ce Post Envoyé : 31 Mar 2016 à 11:20
Message posté par brolysan brolysan a écrit:

ma demande d'automatiser sans avoir à retaper le texte serait top !! 200 blocs à faire...haaaa)


Plusieurs solutions :

1- Faire et appliquer un modèle de style
2- Faire une classe personnalisée avec le code css et l'appliquer aux éléments

Avantage, tu pourras modifier tous les blocs d'un coup (marge plus grange, responsive, etc.)
Haut de la page
brolysan allez vers le bas
Admin Group
Admin Group
Avatar

Depuis le: 14 Août 2009
Pays: France
Status: Inactif
Points: 10144
Options des messages Options des messages   Thanks (0) Thanks(0)   Citer brolysan Citer  RépondreRéponse Lien Direct à ce Post Envoyé : 31 Mar 2016 à 11:36
Message posté par Larsene Larsene a écrit:

Message posté par brolysan brolysan a écrit:

ma demande d'automatiser sans avoir à retaper le texte serait top !! 200 blocs à faire...haaaa)


Plusieurs solutions :

1- Faire et appliquer un modèle de style
2- Faire une classe personnalisée avec le code css et l'appliquer aux éléments

Avantage, tu pourras modifier tous les blocs d'un coup (marge plus grange, responsive, etc.)

Pour les espacement des images à l'intérieur des blocs de texte (simple et multi ligne), ce n'est pas possible d'appliquer un modèle de style.
Haut de la page
Larsene allez vers le bas
Admin Group
Admin Group


Depuis le: 05 Mar 2012
Pays: France
Status: Inactif
Points: 5388
Options des messages Options des messages   Thanks (0) Thanks(0)   Citer Larsene Citer  RépondreRéponse Lien Direct à ce Post Envoyé : 31 Mar 2016 à 12:04
Dans cet usage, il n'est pas trop possible d'utiliser cette fonctionalité ...

Mieux vaut utiliser des éléments distincts, comme on le ferait via un éditeur HTML classique.

div, img, span.


Haut de la page
brolysan allez vers le bas
Admin Group
Admin Group
Avatar

Depuis le: 14 Août 2009
Pays: France
Status: Inactif
Points: 10144
Options des messages Options des messages   Thanks (0) Thanks(0)   Citer brolysan Citer  RépondreRéponse Lien Direct à ce Post Envoyé : 31 Mar 2016 à 12:35
Message posté par Larsene Larsene a écrit:

Dans cet usage, il n'est pas trop possible d'utiliser cette fonctionalité ...
Mieux vaut utiliser des éléments distincts, comme on le ferait via un éditeur HTML classique.
div, img, span.

A moins que Dmit ou Mick ne pompe un truc bien à eux (normal pour eux...) tenant compte de la problématique à l'élément.

Sinon, j'ai commencé avec un panneau d'éléments, 1 image et un bloc de texte multi ligne, pour voir. mais la problématique reste plus ou moins la même. Comment forcer le centrage des 2 deux éléments par rapport au panneau d'éléments (si possible sans trop d'ajout de code bien sur)?
Haut de la page
Dmit OE allez vers le bas
Admin Group
Admin Group


Depuis le: 31 Mai 2012
Status: Inactif
Points: 13971
Options des messages Options des messages   Thanks (0) Thanks(0)   Citer Dmit OE Citer  RépondreRéponse Lien Direct à ce Post Envoyé : 31 Mar 2016 à 13:38
Il faut mettre le panneau en "relative" puis dans le menu de haut ou clic-droit choisir le centrage vertical. De fois on peut avoir besoin d'ajouter un element largeur 0 et hauteur necessaire pour avoir la hauteur totale necessaire avec les elements centrés.
Haut de la page
brolysan allez vers le bas
Admin Group
Admin Group
Avatar

Depuis le: 14 Août 2009
Pays: France
Status: Inactif
Points: 10144
Options des messages Options des messages   Thanks (0) Thanks(0)   Citer brolysan Citer  RépondreRéponse Lien Direct à ce Post Envoyé : 31 Mar 2016 à 13:49
j'ai essayé cette méthode Dmit, j'ai mis un cadre avec une largeur de 5px (pour simuler un espace entre mes 2 éléments), puis spécifier une hauteur. Mais après plusieurs tests, je suis obligé de spécifier une hauteur en pixels égal au panneau d'éléments. Du coup, aucun intérêt de l'ajouter. L'idéal aurait été de pouvoir spécifier 100% et donc ainsi, en cas de redimensionnement en hauteur du panneau d'éléments, les 2 autres éléments resterait centré horizontalement.

Suis je clair?
Haut de la page
Larsene allez vers le bas
Admin Group
Admin Group


Depuis le: 05 Mar 2012
Pays: France
Status: Inactif
Points: 5388
Options des messages Options des messages   Thanks (0) Thanks(0)   Citer Larsene Citer  RépondreRéponse Lien Direct à ce Post Envoyé : 31 Mar 2016 à 13:54
Il n'est pas possible de centrer un panneau dans un autre ayant une hauteur en pourcentage (c'est impossible en CSS) - sauf avec flexbox.

Pour ce faire, il faut utiliser du jQuery pour repositionner l'élément en live. Tu peux utiliser la fonction centrer que je t'ai donnée il y a un moment.
Haut de la page
brolysan allez vers le bas
Admin Group
Admin Group
Avatar

Depuis le: 14 Août 2009
Pays: France
Status: Inactif
Points: 10144
Options des messages Options des messages   Thanks (0) Thanks(0)   Citer brolysan Citer  RépondreRéponse Lien Direct à ce Post Envoyé : 31 Mar 2016 à 13:55
Message posté par Larsene Larsene a écrit:

Il n'est pas possible de centrer un panneau dans un autre ayant une hauteur en pourcentage (c'est impossible en CSS) - sauf avec flexbox.

Pour ce faire, il faut utiliser du jQuery pour repositionner l'élément en live. Tu peux utiliser la fonction centrer que je t'ai donnée il y a un moment.

je teste avec cette fonction jsutement, et en train aussi de regarder avec flexbox (ma piste à la base)...tout ca pour ca quand même...ca manque tiens dans OE ca Wink
Haut de la page
 Répondre Répondre Page  12>
  Partagez ce sujet   

Aller au Forum Permissions du forum allez vers le bas

Forum Software by Web Wiz Forums® version 12.04
Copyright ©2001-2021 Web Wiz Ltd.

Cette page a été affichée en 0.062 secondes.