Donc, toujours en grignotant les bords de ce problème, si vous combinez la méthode de Wener réponse qui étire de courtes lignes de texte avec ceci suggestion d'utiliser un élément réel d'un autre fil, vous pouvez faire tout cela sans avoir besoin d'une :after
pseudo-classe.
Vous substituez un élément réel et vous le placez après celui que vous voulez justifier. Et cela déclenchera l'alignement justifié de la même manière :
header {
background-color: #ace;
text-align: justify;
}
.hack {
display: inline-block;
width: 100%;
}
<header>
<div>
A line of text to justify
<div class="hack"></div>
</div>
</header>
Cette variante vous permet d'utiliser cette astuce avec React et des objets de style :
const style = {
backgroundColor: '#ace',
textAlign: 'justify'
};
const hack = {
display: 'inline-block',
width: '100%'
};
const example = (
<header style={ style }>
<div>
A line of words to stretch
<div style={ hack } />
</div>
</header>
);
ReactDOM.render(example, document.getElementById('root'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="root"></div>
C'est déjà assez laid et compliqué, mais à partir de là, vous devrez choisir la façon dont vous voulez "réparer" la hauteur excessive du conteneur : hauteur fixe ou marges négatives pour le conteneur ? positionnement relatif et chevauchement par rapport aux éléments suivants ? faire correspondre l'arrière-plan du conteneur à l'arrière-plan de la page et faire comme si cette marge supplémentaire était intentionnelle ?
0 votes
Voulez-vous changer le
"spacing between the letters"
(dans le mot anglaisletter-spacing
) ou lefont-size
? Edit : ou comme dans la réponse de @SmudgerDan, l'espacement entre les mots ?0 votes
L'espacement et la taille de la police peuvent être ajustés pour garantir le format du bloc.
1 votes
Pourquoi pas text-align:justify ?
0 votes
@GeorgeKatsanos Je trouve que "text-align:justify" ne remplit pas toujours la zone correctement. Par exemple, si j'ai un div de 300px de large, avec le contenu textuel "Lorem Ipsum", il ne s'étire pas pour remplir la zone.
0 votes
@Curt, text-align:justify peut fonctionner. Voir ma réponse ci-dessous