Web前端入门第 33 问:CSS 元素外观常用属性(边框、阴影、轮廓、透明度)
background 作为元素外观里的重点功臣介绍完毕,本文再一览其他常用的外观属性。
本文示例中,盒子基础样式:
.box {
font-size: 20px;
margin: 20px;
padding: 20px;
width: 250px;
height: 180px;
border: 10px dashed rgba(0,255,0,1);
}
边框 border
border 也是简写属性,它包含有 3 个子属性:
border-width:边框宽度border-style:边框样式border-color:边框颜色
边框宽度和边框颜色没啥好说的啦,就跟之前介绍过的 CSS 单位和 CSS 颜色一样,凡浏览器支持的 CSS 单位和 CSS 颜色都可以喂给它两吃。
边框样式 border-style 不同值之间的区别
边框样式支持 none、 hidden、 dotted、 dashed、 solid、 double、 groove、 ridge、 inset、 outset 有这么多种,看看具体区别是啥:

特别注意 none 和 hidden 区别,在表格中边框重叠情况下,none 隐藏自身,但不隐藏兄弟边框,而 hidden 会隐藏自身和兄弟边框。

巧用边框透明色 transparent 实现三角形
<style>
.box {
width: 0;
height: 0;
border: 100px solid rgba(0,255,0,1);
border-color: #ff4757 transparent transparent transparent;
}
</style>
<div class="box"></div>
看右侧效果,左侧为盒模型占用空间位置:

不同方向的 transparent 可设置不同朝向的三角形。
设置边框图片 border-image
border-image 属性允许用图像来定义边框样式,与背景图类似,允许使用渐变。
特别注意:在使用 border-image 时,再设置边框圆角是无效的,嗯...也不是说无效,就是圆角属性控制不到 border-image,包括 border-style 也无法控制 border-image,所以个人觉得 border-image 应用场景有限。
一个简单例子:
.box {
font-size: 20px;
margin: 20px;
padding: 20px;
width: 250px;
height: 180px;
background-color: #ff4757;
border: 10px dashed;
border-radius: 130px;
border-image:
linear-gradient(
to right,
#ff4757,
#ffa502,
#ffd32a,
#fff
)
10;
}

本例中用了渐变,并且设置边框样式为虚线,还设置了圆角 130px,然而虚线和圆角对边框都无效,圆角对背景色确生效了。
更多使用方式参考 MDN:https://developer.mozilla.org/zh-CN/docs/Web/CSS/border-image
边框圆角属性 border-radius
圆角跟 margin 一样,都是设置四个方向,不同的是每个方向可以设置两个值,表示椭圆的两个半径(分别表示水平大小和垂直大小),使用一个值就表示正圆。
来看一张 MDN 的圆角解释图:

说明:以上图片来源 MDN
除了使用固定值,也可以使用百分比设置圆角弧度,以下是不同的圆角值显示效果:

不常用的边框属性
border-block 用于逻辑块向边框。
border-inline 用于逻辑行向边框。
border-collapse 用于表格单元格边框是否合并。
border-spacing 用于表格单元格边框之间距离。
外轮廓 outline
outline 与 border 很相似,在盒模型绘制上,outline 不占用空间位置,可通过 outline-offset 控制与元素的距离。
border: 10px dashed rgba(0,255,0,1);
border-radius: 40px;
background-color: #ff4757;
outline: 5px solid #ff4757;
outline-offset: 4px;
也可使用负数,让外轮廓跑到元素内部中去:
outline-offset: -20px;
outline: 5px solid rgba(0,255,0,1);
效果如下:

阴影 box-shadow
box-shadow 设置元素的阴影效果,此属性无法设置单个方向阴影,只能通过 x 轴和 y 轴偏移量稍微模拟出单个方向阴影。
/* 设置外影 */
box-shadow: 0 0 10px 0 #000;
/* 设置内阴影 */
box-shadow: 0 0 10px 0 #000 inset;
/* 使用 <spread-radius> 可模拟出第二条边框 */
box-shadow: 0 0 0 10px #000;
/* 使用 <spread-radius> 可模拟出第二条边框 */
box-shadow: 0 0 0 10px #000 inset;
/* 使用 x 轴偏移位置 */
box-shadow: 10px 0 10px #000;
/* 使用 y 轴偏移位置 */
box-shadow: 0 10px 10px #000;
效果如下:

透明度 opacity
opacity 就是让元素变得透明,可以看到背后景色,嘿...就是像透视眼一样,取值范围 0.0 ~ 1.0,0 表示完全透明啥都能看到,1 表示完全不透明啥都看不到。
opacity: 0.8; /* 透明度 50% */
效果如下:

总结
边框、阴影、轮廓、透明度这些属性在 Web 网页中随处可见,属于前端必备手术刀,随时都可能用上。
参考资料:https://developer.mozilla.org/zh-CN/docs/Web/CSS/border
Web前端入门第 33 问:CSS 元素外观常用属性(边框、阴影、轮廓、透明度)的更多相关文章
- 好程序员web前端分享18个用CSS制作出来的东西
好程序员web前端分享18个用CSS制作出来的东西,与流行的看法相反,CSS不仅仅是用来提供一个WEB页面的基本风格,以使它看起来更有吸引力.还有很多其他的事情,CSS也可以做的很好.由于它创建动画和 ...
- 好程序员web前端分享值得参考的css理论:OOCSS、SMACSS与BEM
好程序员web前端分享值得参考的css理论:OOCSS.SMACSS与BEM 最近在The Sass Way里看到了Modular CSS typography一文,发现文章在开头部分就提到了OOCS ...
- web前端入坑第五篇:秒懂Vuejs、Angular、React原理和前端发展历史
秒懂Vuejs.Angular.React原理和前端发展历史 2017-04-07 小北哥哥 前端你别闹 今天来说说 "前端发展历史和框架" 「前端程序发展的历史」 「 不学自知, ...
- 进击的Python【第十三章】:Web前端基础之HTML与CSS样式
进击的Python[第十四章]:Web前端基础之HTML与CSS样式 一.web框架的本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客 ...
- Android零基础入门第33节:Android事件处理概述
原文:Android零基础入门第33节:Android事件处理概述 通过对Android基本组件的学习,也有接触少部分Android的事件处理,比如按钮的点击事件.选框的状态切换事件. 一.Andro ...
- HTML(七)HTML 表单(form元素介绍,input元素的常用type类型,input元素的常用属性)
前言 表单是网页与用户的交互工具,由一个<form>元素作为容器构成,封装其他任何数量的表单控件,还有其他任何<body>元素里可用的标签 表单能够包含<input> ...
- web前端入坑第二篇:web前端到底怎么学?干货资料! 【转】
http://blog.csdn.net/xllily_11/article/details/52145172 版权声明:本文为博主[小北]原创文章,如要转载请评论回复.个人前端公众号:前端你别闹,J ...
- Brackets - 强大免费的开源跨平台Web前端开发工具IDE (HTML/CSS/Javascript代码编辑器)
Brackets 是一个免费.开源且跨平台的 HTML/CSS/JavaScript 前端 WEB 集成开发环境 (IDE工具).该项目由 Adobe 创建和维护,根据MIT许可证发布,支持 Wind ...
- web前端(7)—— 了解CSS样式,引入css样式的方式
CSS 在前面大概的介绍了css,从本片博文开始,会详细的介绍它,在最开始介绍web前端时,打开百度首页,当时我提出了一个问题,为什么百度首页的输入框可以放在正中间,就是由于有css的控制,我们可以打 ...
- [转载]Brackets - 强大免费的开源跨平台Web前端开发工具IDE (HTML/CSS/Javascript代码编辑器)
http://brackets.io/ Brackets 是一个免费.开源且跨平台的 HTML/CSS/JavaScript 前端 WEB 集成开发环境 (IDE工具).该项目由 Adobe 创建和维 ...
随机推荐
- 轮播图,swiper使用
背景: 最近接到一个需求,重写首页,需要用到轮播图. 但是轮播图只用两张图,此为前提. 本想直接用ElementUI的走马灯,但是只用两张图的情况下,走马灯不能循环播放,只能来回播放,公司的UI小姐姐 ...
- 移动端如何自动适配px
<script type="text/javascript"> (function(doc, win) { var docEl = doc.documentElemen ...
- 小程序之navigator跳转方式
navigator中的open-type可以决定小程序的跳转方式: 是否关闭当前页面 或者说以何种方式进行跳转 标签<navigator>中 open-type属性表示小程序的跳转方式: ...
- 五. Redis 配置内容(详细配置说明)
五. Redis 配置内容(详细配置说明) @ 目录 五. Redis 配置内容(详细配置说明) 1. Units 单位配置 2. INCLUDES (包含)配置 3. NETWORK (网络)配置 ...
- Q:如何在Linux系统中查看实时网卡流量
Linux查看实时网卡流量的几种方式 来源 https://www.jianshu.com/p/b9e942f3682c 在工作中,我们经常需要查看服务器的实时网卡流量.通常,我们会通过这几种方式查 ...
- IDEA新建多模块maven项目
1.new =>projetc=>maven=>,新建完成后删除src目录 2.增加java模块 例:robots2-common 项目根目录就是[robots2-paren ...
- Word中接入大模型教程
前言 为什么要在word中接入大模型呢? 个人觉得最大的意义就是不用来回切换与复制粘贴了吧. 今天分享一下昨天实践的在word中接入大模型的教程. 在word中接入大模型最简单的方式就是使用vba. ...
- IGM机器人K5齿轮箱维修故障详情介绍
在长期.高强度的工作中,IGM机器人K5齿轮箱难免会出现故障,需要联系子锐机器人维修进行及时的维修和保养. 一.齿轮磨损 齿轮磨损是IGM机器人K5齿轮箱最常见的故障之一.长时间.高速运转以及负载的频 ...
- 松下机器人示教器AUR01062触摸无反维修
Panasonic松下机器人示教器AUR01062触摸无反应解决方案 松下机器人示教器现象:触摸屏幕时鼠标箭头无任何动作,没有发生位置改变. 原因:造成此现象产生的原因很多,下面就松下机器人维修中示教 ...
- 【软件开发】vcpkg学习笔记
[软件开发]vcpkg 学习笔记 "vcpkg"是一个免费开源的 C++包管理器,可以以此很方便的处理第三方库的接入,且可嵌入进 CMake 中. 入门 入门教程请参照: http ...