Próbuję utworzyć nakładkę w jednolitym kolorze, która dokładnie pasuje do rozmiaru obrazu i wyświetlać tekst na tej nakładce. Chciałbym to zrobić tylko za pomocą HTML i CSS, jeśli to możliwe.Nakładanie tekstu i kolorów tła na obrazku
obraz może być dowolnej wielkości, i tak zaprojektowany, aby pasować i wycentrowana opakowanie macierzystego. Coś jak ten (który nie działa):
HTML:
<div class="img-overlay">
<img src="file.jpg">
<div class="overlay">Text will flow...</div>
</div>
CSS:
.img-overlay img {
margin: 0 auto;
max-height: 100%;
}
.overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%
background-color: rgba(255,255,255,0.5);
}
Myślałem, że <figure>
znaczników HTML5 jest może tutaj pomóc, ale nie mają odniosło wiele sukcesów na tym froncie. Poniższa tabela zachowuje szerokość napisów dopasowaną do szerokości obrazu, ale gdy próbuję usunąć go z obiegu dokumentów i umieścić go nad obrazem, kończy się na lewo od obrazu z powodu centrowania obrazu za pomocą margin: 0 auto;
.
<figure>
<img src="file.jpg">
<figcaption>Text will flow...</figcaption>
</figure>
oboje macie rację - zapomniałem ustawić pozycję elementu nadrzędnego. duh. – ericsoco