最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

详解CSS从条纹边框的实现盒子模型的方法

来源:懂视网 责编:小采 时间:2020-11-27 18:52:17
文档

详解CSS从条纹边框的实现盒子模型的方法

详解CSS从条纹边框的实现盒子模型的方法:解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉到生僻的 CSS 属性,赶紧去补习一下吧。 2、类似下面这个图形,只使用一个标签,可以有多少种实现方式:假设我们的单标签为 p:<p></p>定义如下通用 CSS:p{ posi
推荐度:
导读详解CSS从条纹边框的实现盒子模型的方法:解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉到生僻的 CSS 属性,赶紧去补习一下吧。 2、类似下面这个图形,只使用一个标签,可以有多少种实现方式:假设我们的单标签为 p:<p></p>定义如下通用 CSS:p{ posi

嗯,什么意思呢,你可以戳进这个 demo 看看,正常情况下的背景图填充如下:

详解CSS从条纹边框的实现盒子模型的方法

当然,这个填充规则是可以通过 background-clip 改变的。

background-clip 设置元素的背景(背景图片或颜色)是否延伸到边框下面。

语法:

{
	background-clip: border-box; // 背景延伸到边框外沿(但是在边框之下)
	background-clip: padding-box; // 边框下面没有背景,即背景延伸到内边距外沿。
	background-clip: content-box; // 背景裁剪到内容区 (content-box) 外沿。
}

继续说回本题,接下来,只需要将中间部分填充为白色即可,这个用伪元素可以轻松完成,所以,其中一个方法如下:

p{
 background:#9c27b0;
 border:20px dashed #2196f3;
}
p::after{
 content:"";
 position:absolute;
 top:0;
 left:0;
 bottom:0;
 right:0;
 background:#fff;
}

法二:

上面的方法,我们使用了 p 的背景色默认情况下从 border 开始填充,及伪元素设置白色背景色填充p 的中间的 padding-box 区域完成图形。

也可以反过来,使用伪元素背景色从 border-box 开始填充,使用 p 的背景色填充中间 padding-box区域。

p{
 background:#fff;
 background-clip:padding-box;
 border:20px dashed #cccc99;
}
p::before{
 content:"";
 position:absolute;
 top:-20px;
 left:-20px;
 bottom:-20px;
 right:-20px;
 background:#996699;
 z-index:-1;
}

上面 法二 除了用到了 background-clip 改变背景的填充区域,还用到了 z-index 触发元素生成了堆叠上下文(stacking context),改变了元素的层叠顺序(stacking levle),让伪元素背景色叠到了 p 背景色 之下,这两个概念下题会提及。

法....

本题主要是想讨论一下 CSS 的盒子模型 Box Model 与 背景 background 的关系,其实本题就是在于一个 dashed 边框,内部使用颜色填充即可,与上面第一题异曲同工,使用阴影、渐变都可以完成,感兴趣可以自己尝试一下其他解法。

文档

详解CSS从条纹边框的实现盒子模型的方法

详解CSS从条纹边框的实现盒子模型的方法:解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉到生僻的 CSS 属性,赶紧去补习一下吧。 2、类似下面这个图形,只使用一个标签,可以有多少种实现方式:假设我们的单标签为 p:<p></p>定义如下通用 CSS:p{ posi
推荐度:
标签: 方法 解析 css
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top