Как сделать эту кнопку CSS с угловой, Drop shadow, Inset shadow с гибкостью по ширине
Как сделать эту кнопку CSS с угловой, Drop shadow, Inset shadow с гибкостью по ширине?
Я пытался сделать это здесь http://jsfiddle.net/jitendravyas/6RsnN/ но не о том, как придать ему угол и как создать вокруг него границу выреза.
И кнопка должна быть гибкой по ширине.
Я делаю это только для iphone, поэтому полный CSS3 разрешен.
2 ответа:
Конечным результатом является:
Чистая синяя кнопка css http://img832.imageshack.us/img832/8258/664d7b5656434db68cbee8b.png
Демонстрация гибкости :
Хотя я пытался сделать кнопку, как на картинке, но некоторые части могут быть не такими же. Будем считать этодоказательством концепции .
Эта кнопка может быть чистой
CSS
только с большим количеством дополнительной разметкис этой разметкой:<a class="btn"> <span class="triangle"></span> <span class="btn_inner"> <span class="triangle"></span> Back </span> </a>
В основной трюк для создания треугольников с помощью box-shadow включает в себя несколько шагов:
- Шаг 1. Создать элемент ".треугольник" - это будет обертка для настоящего треугольника.
- Шаг 2. Примените
position: absolute;
, зафиксируйте егоwidth
иheight
:
красный фон-цвет включен для демо
- Шаг 3. Создайте большой квадратный элемент ".triangle:: before' - это будет "реальный" треугольник после шага 6
- Шаг 4 . Поверните его на 45 градусов. (
transform: rotate(45deg)
).Шаг 5 . Добавьте коробку-тень.
Результат после шага 3::Шаг 6 . Добавить
overflow: hidden;
та-дам!На
Обратите внимание, что если вы будете использовать этот трюк, всегда проверяйте, какие префиксы.tag_inner
используйте тот же трюк, ноbox-shadow
должен быть неinset
, а нормальный.vendor
должны использоваться и помещайте свойство без префикса на последнее место.Обновление: Сделать разметка более семантическая-только один элемент для треугольного трюка.
Вот ваш угол, но так как он уже является границей, вы не можете поставить границу на него:
body {padding:40px; background-color: #1693da;} .input { display:block; text-decoration:none; padding:10px 60px; background:#117ebb; font-size:60px; color:#fff; border-radius: 20px; box-shadow: 0px 10px 0px #003355; position:relative; } .input:after { position:absolute; top:0; left:-32px; content:" "; width: 0; height: 0px; border-top: 45px solid transparent; border-bottom: 45px solid transparent; border-right:45px solid #117ebb; }