CSS3 clip-path & clip-path 打破矩形设计的限制
CSS 形状模块标准1(CSS Shapes Module Level 1)这个规范打破了 WEB 中的矩形盒模型的限制,并且将网页设计提升到一个新的高度。
关于 Shapes 规范 shape-outside
shape-outside CSS 属性可以来设置行内内容应该包裹的形状,默认形状为:margin-box。这一属性足以让我们发挥各种想象,从此我们的元素设计将不会仅仅存在于一个矩形内,它可以是任何形状。
shape-outside: none:没有形状就是默认形状:margin-boxshape-outside: margin-box:定义一个由外边距的外边缘封闭形成的形状。shape-outside: border-box:定义一个由边界的外边缘封闭形成的形状。shape-outside: padding-box:定义一个由内边距的外边缘封闭形成的形状。shape-outside: content-box:定义一个由内容区域的外边缘封闭形成的形状
以上属性定义了整个区域的范围,其实和 box-sizing 比较类似。
shape-outside: circle():定义一个圆形函数来绘制包裹形状。shape-outside: ellipse():定义一个椭圆形函数来绘制包裹形状。shape-outside: inset():shape-outside: polygon():定义一个多边形函数来绘制包裹形状。
以上属性是来绘制整个包裹区域的形状的,有点类似于 SVG 或者 Canvas 的绘制图像函数。
shape-outside: url():定义区域内背景图。shape-outside: linear-gradient():定义区域内背景渐变色。
以上属性是来给整个区域设置背景的。
剪裁 clip-path
clip-path CSS 属性可以用来设置一个元素的剪切区域,区域内的部分显示,区域外的部分隐藏。
clip-path: noneclip-path: fill-boxclip-path: border-boxclip-path: padding-boxclip-path: content-box
它们和 shape-outside 的区域范围定义比较类似。
clip-path: circle()clip-path: ellipse()clip-path: inset()
它们和 shape-outside 的绘制形状比较类似。
开始尝试
有了 shape-outside 和 clip-path 我们不仅可以让行内元素产生不同的形状(影响周边元素),而且可以让块级元素剪切成自己想要的形状。
以下 Demo 可以在这里修改查看:https://codepen.io/anon/pen/oMBwVK
<!DOCTYPE html>
<html>
<head>
<style>
.circle-words {
shape-outside: content-box circle();
width: 200px;
height: 200px;
border-radius: 50%;
background-color: #FF5A5F;
float: left;
}
.circle-clip {
background-color: #FF5A5F;
width: 400px;
height: 200px;
clip-path: inset(15% 0 15% 0 round 0 15% 0 15%);
margin: 30px;
background-image: url(https://metaimg.baichanghui.com/METADATA/79d9a111-a39b-4904-b7e3-94068927d822);
}
</style>
</head>
<body>
<div style="width: 600px; margin: auto">
<div class="circle-words"></div>
Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World! Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World! Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World! Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!
Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World! Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World! Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World! Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!Hello World!
</div>
<div style="width: 600px; height: 600px; margin: auto; background-color: #999">
<div class="circle-clip"> </div>
</div>
</body>
</html>
作者:一俢
链接:https://www.jianshu.com/p/bb3b2e97bd61
CSS3 clip-path & clip-path 打破矩形设计的限制的更多相关文章
- os.path.exists(path) 和 os.path.lexists(path) 的区别
使用os.path.exists()方法可以直接判断文件是否存在.代码如下:>>> import os>>> os.path.exists(r'C:\1.TXT') ...
- os.path.isdir(path)异常
Window 10家庭中文版,Python 3.6.4, 当一个路径以多个斜杠(/)或反斜杠字符(\\)结尾时,os.path.isdir(path)函数仍然将它们判断为目录: >>> ...
- 一款由css3和jquery实现的响应式设计导航
2014年响应式设计成为设计主流.今天要给大家带来一款由css3和jquery实现的响应式设计导航.当显示器为pc时,导航为横条.当客户端为移动端时,呈现坚形导航.我们一起看下效果图: 在线预览 ...
- InstallShield Build Error -1014: Cannot rename directory <PATH> to <PATH>\folder.Bak.
InstallSheild执行Build结果错误: 错误详细信息: Cannot rename directory <PATH> to <PATH>\folder.Bak. W ...
- os.path.join合并 os.path.dirname返回上一级目录 os.path.exists(path) os.stat('path/filename')获取文件/目录信息
import os str1 = "grsdgfd" str2 = "wddf" str3 = "gddgs" # print(str1 + ...
- os模块 os.stat('path/filename') os.path.dirname(path) os.path.exists(path) os.path.join(path1[, path2[, ...]])
提供对操作系统进行调用的接口 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于 ...
- difference in physical path, root path, virutal path, relative virtual path, application path and aboslute path?
http://stackoverflow.com/questions/13869817/difference-in-physical-path-root-path-virutal-path-relat ...
- css3创建多边形clip属性,可用来绘制不规则图形了
.path1 { clip-path: polygon(5px 10px, 16px 3px, 16px 17px); } .path2 { clip-path: polygon(3px 5px, 1 ...
- 采用CSS3的动态元素(动画)设计div块的层级式展现
此练习作品是为学习HTML5+CSS3而设计的(如有不好请大家批评指教~~~). 操作:当页面加载时,点击网页中的绿色块(一层),则有其他几块(二层)从其中央出现并向外延伸并旋转,点击这几块中任意一个 ...
随机推荐
- 【雅思】【绿宝书错词本】List1~12
List 1 ❤methane n.甲烷,沼气 ❤variety n.品种,种类:变化,多样化 ❤congratulate vt.祝贺 List 2 ✔denote v.表示,指示:意味着 ✔iris ...
- android AlertDialog控件使用
1.先创建activity_alert_dialog.xml <?xml version="1.0" encoding="utf-8"?> < ...
- Step by Step to create orders by consuming SAP Commerce Cloud Restful API
Recently Jerry is working on an integration project about creating orders in Wechat platform by cons ...
- windows下使用virtualenv对python进行多版本隔离开发
1.windows下安装virtualenv pip install virtualenv 2.进入项目目录,创建虚拟环境,例如: virtualenv venv (默认python版本) virtu ...
- k8s 应用优先级,驱逐,波动,动态资源调整
k8s 应用优先级,驱逐,波动,动态资源调整 应用优先级 Requests 和 Limits 的配置除了表明资源情况和限制资源使用之外,还有一个隐藏的作用:它决定了 Pod 的 QoS 等级. 上一节 ...
- vbs剪切Excel某一行
set oExcel = CreateObject( "Excel.Application" ) '创建oExcel对象 oExcel.Visible = false '4) 打开 ...
- solrconfig.xml配置文件
部分来自http://www.jianshu.com/p/8cf609207497 一.总览 solr的配置重要的有三个:solr.xml.solrConfig.xml.schema.xml solr ...
- TP5.x——initialize()中如何return
前言 首先在tp框架中initialize中是无法直接通过return来返回任何值的,return并不会造成脚本的中断! 环境:PHP 7.0.4 | TP5.1 说明 initialize方法 首先 ...
- SSM自测错题解析
试题解析:spring 中bean的作用域有:singleton.session.prototype.request.global Session 试题解析:使用import导入子元素需要用prope ...
- [INS-07003] 访问 BeanStore 时出现意外错误
oracle安装时出现以下问题: 原因:未配置环境变量CLASSPASH 解决方法:新增系统变量 变量名:CLASSPASH 变量值: .;%JAVA_HOME%\lib;%JAVA_HOME%\li ...