| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> CSS 中的简写到底有多少坑?以后不敢了... -> 正文阅读 |
|
[JavaScript知识库]CSS 中的简写到底有多少坑?以后不敢了... |
大家好,我是零一,简写(语法糖)可能给我们编码带来了很多便利,但简写也会带来一些问题,今天来讨论一下 CSS 中的简写的"爱恨情仇"
background这个 CSS 属性大家肯定是再熟悉不过了,给元素设置背景色 是这样?
还是这样?
应该都有吧,换作我自己,平常这两者用哪个好像也是看心情,如果你说肯定用前者啊,因为前者就一个单词,那其实后者也不麻烦,现在大家都用编辑器,在智能提示的辅佐下输入 回到正题,其实这两者写法我更推荐后者,为什么?来看个例子🌰
这个场景很简单:鼠标移到元素上就展示某张照片,未加载前用一个纯色占位 然而实际效果是?
可以看到 是因为前者和后者都是 即便我们前者用的 大家都知道 那像例子中用 如上图所示,它默认把所有值都设置成了 会不会有人想说:我一直都这么用的,都没遇到啥问题啊! 我只想说一句:可能运气比较好,等代码比较复杂了,你可能会回来补这个窟窿的
margin又提了一个大家再熟悉不过的属性 以下都是它的简写:
这些简写确实帮我们省去了不少的代码量 让我们投身到一个例子🌰中:现在我想让我的元素水平居中,我想用
效果如你所愿: 但你使用
预期的效果是什么样的?而此时的效果是什么样的? 可以看到,预期是想要既水平居中,又距离顶部 其实你单纯想实现水平居中完全没必要用 不然试试另一个简写?让你只处理水平的间距
这样同样能实现我们想要的效果,且不会影响 那同理,有没有能只影响竖直方向的 一起来看另一个例子🌰
效果如下: 这是一种对于非相对定位的垂直水平居中方法(记好了,面试官问你垂直水平居中的方法又多了一个),我是从 HTML 原生的 为什么要用这个例子呢,我就是想引申出这个知识点,跟大家分享一下我最近看到的小 我们可以删除
inset上面说了那么多简写带来的隐患,要不再来说说简写带来的好处? 还是举个例子🌰
这段代码大家应该都很熟悉,我们给
然后元素就撑满父元素了,达到了 ??? 不这么做的原因还是要回到 可能有点绕,直接上张图 可以看到,零一 这个元素在脱离文档流后,仍然是停留在它处于文档流时的位置,那此时如果给他设置宽高 漂亮,超出父元素了,虽然解决这个问题也很简单,直接加一个 其实 语法跟
这里为什么我又推荐大家用 border😖 天呐,受不了了!怎么全是平时常用到的属性,有这么多坑吗? 其实 有这样一个场景:一个元素本身没有边框,当鼠标移入时出现边框,边框从有到无要有过渡动画;同时鼠标移除,边框消失,也伴随有过渡动画
大部分人都会这么写对不对?效果如何呢?可惜只成功了一半! 为什么鼠标移出时, 图中可以看到, 所以我们想要实现鼠标移出时的过渡动画,就不能用 我想到了一个思路,可能不是最完美的,但根本看不出瑕疵,大家可以借鉴一下: 将元素的 效果如下: 总结对于 「我们到底该如何使用简写?」 这个问题,我认为:需要一次性设置简写属性中全部或绝大部分属性时,可以使用简写;反之,则不太应该使用简写 我是零一,分享技术,不止前端! 希望本文对你有所帮助,我在用心写文章,希望大家不要吝啬自己的赞👍 若有疑问或者建议,欢迎评论区留言,一起互相交流讨论,共同进步! |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 0:17:54- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |