Jak wyśrodkować tekst na obrazie w CSS?
<div class="image">
<img src="sample.png"/>
<div class="text">
<h2>Some text</h2>
</div>
</div>
Chcę zrobić coś podobnego do tego poniżej, ale mam trudności, oto mój aktualny CSS
<style>
.image {
position: relative;
}
h2 {
position: absolute;
top: 200px;
left: 0;
width: 100%;
margin: 0 auto;
width: 300px;
height: 50px;
}
</style>
Kiedy używam obrazu tła, nie otrzymuję żadnych danych wyjściowych z 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();
?>
Oto prints.php:
<?php require_once('html2pdf/html2pdf.class.php'); ?>
<?php
$html2pdf = new HTML2PDF('L', 'A4', 'en');
$html2pdf->writeHTML($_SESSION['sess']);
$html2pdf->Output('random.pdf');
?>
Odpowiedzi:
Co powiesz na coś takiego: http://jsfiddle.net/EgLKV/3/
Odbywa się to za pomocą
position:absolute
iz-index
umieszczenia tekstu na obrazie.źródło
To kolejna metoda pracy z rozmiarami responsywnymi. Utrzyma wyśrodkowany tekst i zachowa jego pozycję w jego rodzicu. Jeśli nie chcesz, aby był wyśrodkowany, jest to jeszcze łatwiejsze, po prostu pracuj z
absolute
parametrami. Pamiętaj, że używa głównego pojemnikadisplay: inline-block
. Jest na to wiele innych sposobów, w zależności od tego, nad czym pracujesz.Na podstawie Centering the Unknown
Działający przykład codepen tutaj
HTML
CSS
źródło
Dlaczego nie ustawić
sample.png
jako obrazu tła klasytext
lubh2
CSS? To da efekt, jak napisałeś na obrazie.źródło
W przypadku projektowania responsywnego dobrze jest użyć kontenera o względnym układzie i zawartości (umieszczonej w kontenerze) o stałym układzie.
Style CSS:
Kod HTML:
W przypadku układu IONIC Grid, równomiernie rozmieszczonych elementów siatki i klas używanych w powyższym kodzie HTML, zobacz - Grid: Evenly Spaced Columns . Mam nadzieję, że ci to pomoże ... :)
źródło
jak wskazuje Harry Joy, ustaw obraz jako tło elementu div, a następnie, jeśli masz tylko jedną linię tekstu, możesz ustawić wysokość wiersza tekstu na taką samą, jak wysokość elementu div, co spowoduje umieszczenie tekstu w centrum div.
Jeśli masz więcej niż jedną linię, będziesz chciał ustawić wyświetlanie na komórki tabeli i wyrównanie w pionie do środka.
źródło
od 2017 jest to bardziej responsywne i działało dla mnie. Służy do umieszczania tekstu wewnątrz, a na końcu, jak na plakietce. zamiast cyfry 8 miałem zmienną do pobierania danych z bazy danych.
ten kod zaczął się od odpowiedzi Kailasa powyżej
https://jsfiddle.net/jim54729/memmu2wb/3/
Mój HTML
i mój css:
źródło
Mały i krótki sposób na zrobienie tego samego
HTML
CSS
źródło