Как сверстать input без картинок
Вложений: 1
Подскажите, как можно сверстать подобный input type="text" не используя картинок. Как видно из картинки сложность в том, что элемент помимо однопиксельной границы (тут всё понятно, border:#999 1px solid), имеет закругленную обводку толщиной 4 пикселя. Как сделать такую обводку не используя картинок?
|
обернуть его во что-нибудь. дать инпуту border, и его wrapper тоже border, но уже с border-radius.
|
Цитата:
|
если просто <input> хотите, то никак.
|
Цитата:
можно, но только для нормальных браузеров, через градиент, background-size и множественные фоновые изображения. |
Цитата:
|
Цитата:
<!DOCTYPE HTML> <html lang="ru"> <head> <meta charset="UTF-8"/> <title>Тест</title> <style> input { border: 4px solid #999; border-radius: 4px; height: 50px; width: 300px; background-color: #fff; background-image: -moz-linear-gradient(#f00, #fff 1px), -moz-linear-gradient(#f00, #fff 1px), -moz-linear-gradient(0deg, #f00, #fff 1px), -moz-linear-gradient(0deg, #f00, #fff 1px); background-image: -webkit-linear-gradient(#f00, #fff 1px), -webkit-linear-gradient(#f00, #fff 1px), -webkit-linear-gradient(0deg, #f00, #fff 1px), -webkit-linear-gradient(0deg, #f00, #fff 1px); background-image: -o-linear-gradient(#f00, #fff 1px), -o-linear-gradient(#f00, #fff 1px), -o-linear-gradient(0deg, #f00, #fff 1px), -o-linear-gradient(0deg, #f00, #fff 1px); background-image: -ms-linear-gradient(#f00, #fff 1px), -ms-linear-gradient(#f00, #fff 1px), -ms-linear-gradient(0deg, #f00, #fff 1px), -ms-linear-gradient(0deg, #f00, #fff 1px); background-image: linear-gradient(#f00, #fff 1px), linear-gradient(#f00, #fff 1px), linear-gradient(0deg, #f00, #fff 1px), linear-gradient(0deg, #f00, #fff 1px); background-size: auto 1px, auto 1px, 1px auto, 1px auto; background-repeat: repeat-x, repeat-x, repeat-y, repeat-y; background-position: 0 0, 0 100%, 0 0, 100% 0; } </style> </head> <body> <input/> <script> </script> </body> </html> |
хм. интересное применение!
|
Цитата:
а когда это начнёт работать то вообще красота будет! |
|
Цитата:
|
У ФФ есть outline-radius))
А так box-sadow вовнуть и border с border-radius вовне. FF: <input type="text" value="a b c d e f"> <style> input{ -moz-outline-radius: 5px; outline: 5px solid #ddd; border:1px solid #aaa; padding:4px; } </style> Остальные: <input type="text" value="a b c d e f"> <style> input{ -moz-box-shadow: inset 0 0 0 1px #aaa; -webkit-box-shadow: inset 0 0 0 1px #aaa; -o-box-shadow: inset 0 0 0 1px #aaa; box-shadow: inset 0 0 0 1px #aaa; -moz-border-radius:5px; -webkit-border-radius:5px; -o-border-radius:5px; border-radius:5px; border:5px solid #ddd; padding:5px; } </style> Ну и для ослика - что-ить своё.) |
Aetae,
Ваш второй вариант вполне подходит, спасибо! |
Еще есть свойство outline
|
Цитата:
greatilya, кстати, такие советы лучше задавать на форуме сайта http://htmlbook.ru . Больше шансов, что там помогут. |
greatilya, есть ещё вариант. Глянь тут.
|
Цитата:
|
Цитата:
|
Цитата:
Надежда о том, что IE будет браузером с хорошим отношением к верстальщикам умерла во мне месяца три назад окончательно. Цитата:
В силу реализации в последнее время кучи анимации, фич и примочек в виде дизайнерского изврата я понял, что без написания кода под последние браузеры и отдельно под ie7 и ie8 и ie9 не обойтись. Весь этот graceful degradation существует благодаря ie. Остальные браузеры давно обновились и по моей статистике поддерживают всё что нужно из последних наворотов. Старые версии их быстро уходят и в degradation нет смысла. Чтобы не разводить холивар опять на прописных истинах, я пожалуй на этом и закончу. |
Цитата:
|
outline + border
<html> <head> <style> input{ outline:1px solid #111; border:4px solid #999; border-radius:5px; } </style> </head> <body> <input type="text"/> </body> </html> Почти получилось... |
qwertyuiop10, щито?
В теме уже преведены нормальные работчие варианты. То что у вас получится х*ня, можно сказать и не запуская. |
qwertyuiop10, сравните рисунок (условие) и то, что у вас получилось (результат)
|
box-shadow + border-radius + css3-pie (для IE).
градиенты лепить не советую. |
melky,
Я же говорю, почти ) |
Цитата:
|
Тема закрыта, потому что исчерпывающий ответ уже дан.
|
Часовой пояс GMT +3, время: 03:03. |