Поскольку javascript разрешен (на основе одного из ваших комментариев), я не понимаю, как это могло бы повлиять на производительность:
- обернуть элементы
input
div
- взять свойства позиционирования
input
и скопировать их в div
упаковщик - удалить позиционирование с
input
, используя встроенный position: static
- добавьте другие элементы или стили, чтобы получить закругленные углы.Будучи фиксированной высотой, то для всего, кроме IE7, некоторые css, подобные этому, должны работать (предполагается фиксированная высота 20 пикселей, изображения с закругленными концами, ширина 10 пикселей и высота 20 пикселей):
Css:
div.inputWrap:before,
div.inputWrap:after {content: ' '; display: inline-block; height: 20px; width: 10px; background: url(/yourRoundedLeftEndImg.png) top left no-repeat;}
div.inputWrap:after {background: url(yourRoundedRightEndImg.png);}
Предполагая, что ваш javascript дает вам этот html:
<div class="inputWrap"><input /></div>
Вам потребуется стилизовать ввод, чтобы избавиться от границ, и тому подобное (я также обнаружил, что мой тест в Firefox потребовал от меняустановите vertical-align: top
, но не уверены, что это необходимо. Для IE6-7 вам действительно придется добавлять дополнительные div до и после input
, так как они не распознают псевдоклассы :before
и :after
.