Моя цель - получить такие эффекты с границами в чистом css. Я хочу спросить, возможно ли это (или мне нужно использовать изображения)? Должен ли я использовать такой атрибут span или контур или что-то еще? Может быть, вы знаете, что я могу найти учебник, как это сделать?укладка границы в css3 необычный дизайн
ответ
Другая возможность, которая не использует границы, но является чистым CSS, является некоторой дурацкой работой с псевдоэлементами.
Например:
p:after {
content: '';
background-color: red;
position: absolute;
width: 20px;
left: 0;
top: -2px;
bottom: -2px;
z-index: -1;
}
Вы можете увидеть демо здесь: http://jsbin.com/iduvoj/1/edit
Вот еще одна демонстрация вашего последнего примера: http://jsbin.com/igotul/1/edit
Теперь это зависит от нескольких вещей, например, как многие элементы, которые вы будете укладывать, независимо от того, может ли ваш абзац иметь сплошной цвет фона и т. д. Но есть шанс, что он сработает.
Это также зависит только от :before
и :after
, которые достаточно хорошо поддерживаются: http://caniuse.com/#search=before
Это будет сложно.
Лучшее, что я могу предложить вам, используя границы, - это CSS border-image
, что действительно позволит вам проектировать практически любые произвольные рамки. Вы можете узнать больше об этом on MDN.
Имеет то преимущество, что оно предназначено для обработки растягивающих изображений по длине границы и с отдельными изображениями для каждой стороны и углов и т. Д. По мере необходимости, поэтому оно очень гибкое.
Я не буду приводить пример, отличный от приведенных выше на странице MDN, потому что сам код CSS относительно прост; главное, что вам нужно, чтобы заставить его работать, будут фактические изображения, и это то, что вам нужно, чтобы обеспечить себя.
Однако основная проблема, с которой вы столкнулись с border-image
, - это поддержка браузера. Это относительно недавнее дополнение к CSS, и некоторые довольно современные браузеры не поддерживают его. Это включает IE10. В зависимости от того, что вам нужно, это может сделать это как решение.
Таким образом, альтернативное решение, которое будет работать лучше кросс-браузера, - это просто, чтобы границы были определены как фоновые изображения. Это довольно очевидно, и на самом деле работает достаточно хорошо. Если ящики могут сильно различаться по высоте, вы можете получить проблемы с масштабированием, но этого можно избежать, используя несколько фоновых изображений.
Надеюсь, что это поможет.
- 1. Укладка флажка с CSS3
- 2. Укладка границы вокруг div
- 3. CSS3 - укладка входного диапазона фона
- 4. IE проблема CSS3 границы
- 5. CSS3 Переходы и границы
- 6. Различные CSS3 стили границы
- 7. CSS3 анимировать цвет границы
- 8. CSS3 Непрозрачность границы?
- 9. CSS3 Сглаживание границы Mozilla
- 10. CSS3 Диагональ Линия границы
- 11. css3 округленный стол границы
- 12. Радиус границы CSS3
- 13. как изменить дизайн границы
- 14. Укладка внешней границы на входы формы
- 15. QuartzCore метода укладка UITextField границы не работает
- 16. CSS3 круг с градиентом границы?
- 17. CSS3 Округлые и пунктирные границы?
- 18. волна форма границы с CSS3
- 19. моделирование входной контур границы - CSS3
- 20. CSS3 Как сделаны зигзагообразные границы?
- 21. css3 media query отзывчивый дизайн
- 22. align in css3 отзывчивый дизайн
- 23. округлые повернутые границы для изображений в CSS3
- 24. Многослойные границы для окна в CSS3
- 25. Как создать пользовательский дизайн границы в CSS
- 26. CSS3 граница границы + другая ширина границы, уродливый переход
- 27. Укладка границ в CSS
- 28. Вопросы дизайна SOA и WCF: Это необычный дизайн системы?
- 29. Firefox 3.6 Игнорирование радиуса границы CSS3
- 30. создать css3 форму с использованием свойств границы
Работает отлично! Любить это! Благодарю вас @mookamafoob. –