CSS 有趣的边框

简介:

今天看到一篇文章,是利用CSS边框来做折纸效果,感觉很有意思,于是就对CSS的border研究了一下,发现还真有一些好玩的用法。

1.border折纸效果

首先是HTML代码,为了简单,就一个div:

<div class="note">
	折纸效果
</div>
然后我们为它加上边框效果:

.note{
	display:block; 
	margin:100px auto;
	width:100px;
	height:100px;
	background:#ff0;
	border:1px solid #000;
}
这是最简单最丑的边框效果了,看起来像这样:

果然边框太细了看不到细节,我们把边框设粗一点,然后把每个方向的边框颜色改一下:

.note{
	display:block; 
	margin:100px auto;
	width:100px;
	height:100px;
	background:#ff0;
	border-width:10px 10px 10px 10px;
	border-color:#aa0 #f0f #512 #a21;
	border-style:solid;
}
效果如下:



瞬间产生3D效果了有木有!我们继续把边框设粗,然后把容器的height设为0:

.note{
	display:block; 
	margin:100px auto;
	width:100px;
	height:0px;
	background:#ff0;
	border-width:50px;
	border-color:#aa0 #a21 #740 #a21;
	border-style:solid;
}

瞬间产生信封的效果了有木有!我们继续把width也设为0,效果像这样(代码就不贴了):


是不是有一种金字塔的感觉呢!好了,就玩到这里,之前说了做折纸效果,现在想想应该是SO EASY了,先看效果图:


note还是原来的note,只是给note加了一个before伪元素,设置伪元素宽度为0,内容为空,利用边框做出三角形效果,然后通过绝对定位到右上角,最后加上阴影效果就ok啦。代码如下:

.note{
	display:block; 
	margin:100px auto;
	width:100px;
	height:100px;
	background:#ff0;
	padding:50px;
	position:relative;
}
.note:before{
	content:"";
	width:0;
	border-color:#fff #fff transparent transparent;
	border-style:solid;
	border-width:20px;
	position:absolute;
	top:0;
	right:0;
	
	-webkit-box-shadow:-2px 2px 2px rgba(0,0,0,0.3);
	-moz-box-shadow:-2px 2px 2px rgba(0,0,0,0.3);
        box-shadow:-2px 2px 2px rgba(0,0,0,0.3);
}
原来的HTML代码完全没变,只是更改了CSS样式而已,完全不影响语义化。

另附上CSS 中 border的属性:


另外,border-style本身也有支持3D效果的属性,以下是border-style的可选值:


2.升级到CSS3

CSS3中增加了图片边框border-image,圆角border-raduis,多颜色边框border-color。圆角用的比较多,多颜色边框可以做到边框颜色渐变效果(目前只有FF30支持,兼容性不好),border-image效果很赞,能九宫格切分图片,做到边框尺寸自适应,学习参考: http://www.w3school.com.cn/cssref/pr_border-image.asp

总结:平时布局的时候都有一个常用的写法,但是还有很多属性值我们没有用到,去发掘一下的话可能会有意想不到的惊喜!大家要是还有边框的有趣玩法,欢迎分享~~


相关文章
|
安全 数据安全/隐私保护 iOS开发
基于iOS的动态权限管理实现
【4月更文挑战第9天】 随着移动互联网的快速发展,用户对应用程序的隐私安全要求越来越高。在iOS平台中,如何实现动态权限管理成为了开发者关注的焦点。本文将详细介绍一种基于iOS的动态权限管理实现方法,通过使用Core Motion框架和Notification Center,实现对用户位置信息的实时监控和动态权限申请。
|
关系型数据库 MySQL 开发工具
MySQL5.7主从配置(Docker)
MySQL5.7主从配置(Docker)
1142 0
|
前端开发
深入理解CSS中的line-height的使用
深入理解CSS中的line-height的使用
|
JavaScript Windows 内存技术
Windows安装nvm管理工具(图解)
Windows安装nvm管理工具(图解)
572 0
|
域名解析 网络协议 安全
中间人攻击之DNS欺骗
【8月更文挑战第12天】
581 1
|
测试技术
硬件产品经理:手板设计
产品手板是设计细节体现,关乎到业务的专业性和谈判空间。忽视细节可能导致外行印象,影响供应商合作和内部管理决策。手板是未开模前检验外观和结构功能的样板,常用于检测、减少模具风险和缩短开发周期。手板有ID外观、结构和功能三种类型,材料包括各种塑料和金属。制作过程涉及3D打印和CNC加工,结构设计后需试装和功能测试,发现问题及时调整,最终输出确认报告。手板在产品开发中起到关键的验证作用。
356 1
|
缓存 Java 数据库
后端性能优化的实践与经验分享
【5月更文挑战第15天】在互联网环境中,后端性能优化对提供卓越用户体验至关重要。关键领域包括:数据库优化(查询优化、索引优化、表结构优化、数据库维护)、缓存策略(内存缓存、CDN内容分发、HTTP缓存)、服务器配置优化(硬件升级、网络优化、操作系统调整)和代码优化(算法与数据结构、懒加载与异步处理、减少冗余计算、多线程与并发)。通过这些方法,可以提升响应速度,增强用户满意度,促进业务增长。
546 3
|
JavaScript 安全 前端开发
错误处理:在Vue中捕获和处理异常
【4月更文挑战第24天】Vue.js开发中,错误和异常处理对于保持用户体验和应用稳定性至关重要。Vue提供`errorCaptured`钩子函数,可在组件及其子组件中捕获错误,通过参数进行处理。例如,在`App`组件中定义`errorCaptured`,调用自定义`handleError`方法记录错误。此外,可使用`try...catch`处理异步错误,全局错误处理则可通过`Vue.config.errorHandler`设置。结合这些机制,开发者能有效管理错误,提升应用的稳定性和易维护性。
658 7
|
机器学习/深度学习 PyTorch TensorFlow
TensorFlow、PyTorch、Keras、Scikit-learn和ChatGPT。视觉开发软件工具 Halcon、VisionPro、LabView、OpenCV
TensorFlow、PyTorch、Keras、Scikit-learn和ChatGPT。视觉开发软件工具 Halcon、VisionPro、LabView、OpenCV
|
安全 算法 数据安全/隐私保护
安全多方计算之四:比特承诺
安全多方计算之四:比特承诺

热门文章

最新文章