Я пытаюсь настроить ширину текста так же, как ширина изображения. Это часть моего кода:
<style>
.sign {
position: relative;
float: left;
}
.sign figcaption {
position: absolute;
bottom: 0;
width: 100%;
color: white;
text-align: center;
background: rgb(0, 0, 0); /* fallback color */
background: rgba(0, 0, 0, 0.7);
padding: 3px;
display: none;
}
</style>
<script>
$(document).ready(function() {
$(".sign").mouseenter(function(){
$("figcaption").slideToggle();
});
$(".sign").mouseleave(function(){
$("figcaption").slideToggle();
});
});
</script>
<div class="sign">
<img src="<c:url value="resources/img/girl.jpeg"/>">
<figcaption>change picture</figcaption>
</div>
когда я устанавливаю ширину 100%, у меня есть ширина области текста больше
Я новичок в css, помогите решить проблему.
Это связано с левым и правым дополнением, которое вы разместили над подписью. Полученная ширина - это значение ширины + заполнение. Я бы рекомендовал прочитать о коробке: http://www.w3.org/TR/CSS21/box.html
В попытке быть немного более полезным: потому что текст центрирован, просто удалите прописку слева и справа.
.sign figcaption{
padding: 3px 0px;
}
JSFiddle: http://jsfiddle.net/LsQ2d/