Como centralizo um texto sobre uma imagem em css?
<div class="image">
<img src="sample.png"/>
<div class="text">
<h2>Some text</h2>
</div>
</div>
Eu quero fazer algo como o abaixo, mas estou tendo dificuldades, aqui está o meu css atual
<style>
.image {
position: relative;
}
h2 {
position: absolute;
top: 200px;
left: 0;
width: 100%;
margin: 0 auto;
width: 300px;
height: 50px;
}
</style>
Quando uso a imagem de fundo, não recebo nenhuma saída do 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();
?>
Aqui está prints.php:
<?php require_once('html2pdf/html2pdf.class.php'); ?>
<?php
$html2pdf = new HTML2PDF('L', 'A4', 'en');
$html2pdf->writeHTML($_SESSION['sess']);
$html2pdf->Output('random.pdf');
?>
Respostas:
Que tal algo assim: http://jsfiddle.net/EgLKV/3/
É feito usando
position:absolute
ez-index
para colocar o texto sobre a imagem.fonte
Esse é outro método para trabalhar com tamanhos responsivos. Ele manterá o texto centralizado e manterá sua posição dentro dos pais. Se você não quiser centralizar, é ainda mais fácil, basta trabalhar com os
absolute
parâmetros. Lembre-se de que o recipiente principal está em usodisplay: inline-block
. Existem muitas outras maneiras de fazer isso, dependendo do que você está trabalhando.Baseado em Centrar o Desconhecido
Exemplo de código de trabalho aqui
HTML
CSS
fonte
Por que não definir
sample.png
como imagem de plano de fundotext
ouh2
classe css? Isso entrará em vigor conforme você tiver escrito uma imagem.fonte
Para um design responsivo, é bom usar um contêiner com um layout relativo e o conteúdo (colocado no contêiner) com um layout fixo como.
Estilos CSS:
Código HTML:
Para o layout de grade IONIC, elementos de grade espaçados igualmente e as classes usadas no HTML acima, consulte - Grade: colunas uniformemente espaçadas . Espero que te ajude... :)
fonte
como Harry Joy aponta, defina a imagem como plano de fundo da div e, se você tiver apenas uma linha de texto, poderá definir a altura da linha como igual à altura da div, e isso colocará seu texto no campo centro da div.
Se você tiver mais de uma linha, defina a exibição como célula da tabela e alinhamento vertical no meio.
fonte
a partir de 2017, isso é mais responsivo e funcionou para mim. Isto é para colocar texto dentro de vs over, como um crachá. em vez do número 8, eu tinha uma variável para extrair dados de um banco de dados.
esse código começou com a resposta de Kailas acima
https://jsfiddle.net/jim54729/memmu2wb/3/
Meu HTML
e meu css:
fonte
Uma maneira pequena e curta de fazer o mesmo
HTML
CSS
fonte