Comment centrer un texte sur une image en CSS?
<div class="image">
<img src="sample.png"/>
<div class="text">
<h2>Some text</h2>
</div>
</div>
Je veux faire quelque chose comme celui ci-dessous mais j'ai des difficultés, voici mon css actuel
<style>
.image {
position: relative;
}
h2 {
position: absolute;
top: 200px;
left: 0;
width: 100%;
margin: 0 auto;
width: 300px;
height: 50px;
}
</style>
Lorsque j'utilise background-image, je n'obtiens aucune sortie de html2pdf:
<style>
#image_container{
width: 1000px;
height: 700px;
background-image:url('switch.png');
}
</style>
<a href="prints.php">Print</a>
<?php ob_start(); ?>
<div id="image_container"></div>
<?php
$_SESSION['sess'] = ob_get_contents();
ob_flush();
?>
Voici prints.php:
<?php require_once('html2pdf/html2pdf.class.php'); ?>
<?php
$html2pdf = new HTML2PDF('L', 'A4', 'en');
$html2pdf->writeHTML($_SESSION['sess']);
$html2pdf->Output('random.pdf');
?>
Réponses:
Que diriez-vous de quelque chose comme ça: http://jsfiddle.net/EgLKV/3/
C'est fait en utilisant
position:absolute
etz-index
pour placer le texte sur l'image.la source
Il s'agit d'une autre méthode pour travailler avec des tailles réactives. Il gardera votre texte centré et conservera sa position dans son parent. Si vous ne voulez pas qu'il soit centré, c'est encore plus facile, travaillez simplement avec les
absolute
paramètres. Gardez à l'esprit que le conteneur principal utilisedisplay: inline-block
. Il existe de nombreuses autres façons de le faire, en fonction de ce sur quoi vous travaillez.Basé sur Centering the Unknown
Exemple de codepen de travail ici
HTML
CSS
la source
Pourquoi ne pas définir
sample.png
comme image d'arrière-plantext
ouh2
classe css? Cela donnera effet comme vous l'avez écrit sur une image.la source
Pour une conception réactive, il est bon d'utiliser un conteneur ayant une disposition relative et un contenu (placé dans un conteneur) ayant une disposition fixe comme.
Styles CSS:
Code HTML:
Pour la mise en page IONIC Grid, les éléments de grille régulièrement espacés et les classes utilisées dans le code HTML ci-dessus, veuillez vous reporter à - Grille: colonnes à espacement régulier . J'espère que cela vous aidera ... :)
la source
comme Harry Joy le souligne, définissez l'image comme arrière-plan du div et ensuite, si vous n'avez qu'une seule ligne de texte, vous pouvez définir la hauteur de ligne du texte pour qu'elle soit la même que la hauteur de div et cela placera votre texte dans le centre de la div.
Si vous avez plus d'une ligne, vous voudrez définir l'affichage sur cellule de tableau et alignement vertical sur le milieu.
la source
à partir de 2017, c'est plus réactif et a fonctionné pour moi. C'est pour mettre du texte à l'intérieur ou par-dessus, comme un badge. au lieu du numéro 8, j'avais une variable pour extraire des données d'une base de données.
ce code a commencé avec la réponse de Kailas ci-dessus
https://jsfiddle.net/jim54729/memmu2wb/3/
Mon HTML
et mon css:
la source
Un petit et court moyen de faire de même
HTML
CSS
la source