如何理解CSS的变量和继承相关知识
Admin 2022-07-14 群英技术资讯 560 次浏览
朋友,百姓网前端架构师css魔法的《css揭秘》,已经出版发行,并赠送了我一本。看了一下这本书,确实有很多css技巧。让你会有蛮大的收获,在这里帮他宣传一下!今天所说的案例呢,也是部分借鉴这本书的。今天和大家聊聊css变量和继承!
有人会说,css怎么会有变量和继承?你是说的css处理器吧!
不是,我说的是纯css,其实,css也在努力融入各种预处理器的特性和写法,甚至有些属性比预处理器更加强大,例如:
闲话少说,我们还是切入正题吧!
css变量
其实我说的变量,并非css处理器中的自定义变量,而是css某些属性有类似变量的功能!
这个属性就是currentColor
currentColor 的应用
1、镂空图片镂空和currentColor
代码如下:
.icon {
display: inline-block;
background-image: url(h/216/0y89gzo2/sprite_icons.png);
background-color: currentColor; /* 该颜色控制图标的颜色 */
}
.link:hover { color: #333; }/* 虽然改变的是文字颜色,但是图标颜色也一起变化了 */
解释: 默认图标的背景颜色currentColor用的是link的颜色,link颜色改变时,图标的背景颜色也随着改变!
2、水平分割线和文本颜色保持一致,假如你所有的hr 颜色要和文本颜色保持一致,有了currentColor,可以如下写
hr{height:.5em;background:currentColor}
假如你的文本颜色变了,hr也会自动变。
css继承
继承我们用的是inherit属性
这个应用到时蛮多的,例如设置字体,表单的字体我们要和页面其他部分相同,我们不用重复定于,只要继承其他的就可以!
input,select,button{font:inherit}
超链接颜色与其他颜色相同,可以用:
a{color:inherit}
提示对话框的小箭头,要和整体对话框一直,包括边框和背景,我们可以用inherit
关于对话框,我前面文章也有关于css书写对话框的 ,但是这种写法对于对话框的边框很难控制,看下下面的这个应用吧!
代码如下:
.callout{position:relative;background-color:#ccc;border:1px solid red;}
.callout::before{content:"";position:absolute;top:-.4em;left:1em;padding:.35em;background:inherit;
border:inherit;border-right:0;border-bottom:0;transform:rotate(45deg);}//先写一个正方形,然后旋转45度变为三角形
例子
:root { --color: blue; }
div { --color: green; }
#alert { --color: red; }
* { color: var(--color); }
I inherited blue from the root element!
I’m red too, because of inheritance!
背景和边框继承callout,这样写起来更加方便了!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
CSS3怎样实现的侧滑菜单?一些朋友可能会遇到这方面的问题,对此在下文小编向大家来讲解一下,内容详细,易于理解,希望大家阅读完这篇能有收获哦,有需要的朋友就往下看吧!
canvas与svg都是可以在浏览器上创建图形,因此,在html5中感觉canvas和svg很相似,但是实际上canvas与svg有着根本的区别。下面php中文网通过比较canvas和svg之间的不同来给大家总结了关于canvas与svg的区别。一起来看一看吧。
目录I.精灵图介绍II.精灵图的实现方式:拼出你的名字III.软件辅助定位I.精灵图介绍首先,我们先介绍一下什么是精灵图:先强调一点哈,精灵图和下面这个玩意儿没啥关系:它的名字是这
这篇文章主要介绍了Html5让容器充满屏幕高度或自适应剩余高度的布局实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
使用CSS怎样实现图片百叶窗的效果?图片百叶窗的展示效果还是比较比较常见的,那么这一效果是怎样做的呢?这篇文章给大家分享用CSS实现图片百叶窗的效果的方法,实现效果及代码如下:
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008