Ширина текста CSS над изображением

0

Я пытаюсь настроить ширину текста так же, как ширина изображения. Это часть моего кода:

<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%, у меня есть ширина области текста больше


Изображение 174551

Я новичок в css, помогите решить проблему.

  • 0
    Можно сделать скрипку? Но с первого взгляда кажется, что вы добавляете дополнительные 3 пикселя отступов слева и справа от заголовка.
Теги:

1 ответ

3
Лучший ответ

Это связано с левым и правым дополнением, которое вы разместили над подписью. Полученная ширина - это значение ширины + заполнение. Я бы рекомендовал прочитать о коробке: http://www.w3.org/TR/CSS21/box.html

В попытке быть немного более полезным: потому что текст центрирован, просто удалите прописку слева и справа.

.sign figcaption{
    padding: 3px 0px;
}

JSFiddle: http://jsfiddle.net/LsQ2d/

  • 0
    Да, это звучит правильно.
  • 0
    спасибо, должен действительно прочитать это.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню