Как правильно стилизовать текстовую область с внутренними тенями и полосой прокрутки

Я помещаю внутреннюю тень на все мои элементы управления, поля ввода и текстовые поля, используя следующий CSS:

input {
  padding: 7px;
  -webkit-box-shadow: inset 2px 2px 2px 0px #dddddd;
  -moz-box-shadow: inset 2px 2px 2px 0px #dddddd;
  box-shadow: inset 2px 2px 2px 0px #dddddd;
}

и, с некоторыми другими стилями, выглядит так ( в Firefox и аналогичные в других браузерах):

enter image description here

Но заполнение, которое помогает отделить содержимое от внутренней тени, разбивает текстовое поле вокруг полосы прокрутки:

enter image description here

и если я удалю заполнение, текст будет перекрывать тень, как это :

enter image description here

Я могу добавить отступы только слева, устраняя перекрытие с левой тенью, но не с верхней тенью, при этом полоса прокрутки выглядит хорошо:

enter image description here

Я также могу добавить отступ везде, но с правой стороны, имея текст отображается правильно, но панель инструментов по-прежнему выглядит довольно странно:

enter image description here

Есть ли способ решить эту проблему?

25
задан pupeno 17 January 2012 в 14:43
поделиться

2 ответа

Вы можете просто добавить: padding-right: 0; к селектору текстовой области, и он выровняет полосу прокрутки со стороной элемента. :)

0
ответ дан 28 November 2019 в 21:54
поделиться

Кроме того - вместо простого ввода, который будет нацеливаться на кнопки, вы можете нацеливать ввод текста конкретно с помощью

input[type="text"]
0
ответ дан 28 November 2019 в 21:54
поделиться