关于一些CSS中改变元素位置的属性的百分比参考对象的总结

1.写在前面

在写页面CSS过程中不可避免的需要写到一些改变元素位置的属性,例如改变元素外边距、内边距,改变定位元素的偏移等,当这些元素属性设置为一个绝对的数值时,你当然知道它会移动一个绝对的数值的位置;然而当其设置为百分比值时,你是否会思考:这个百分比值是相对于其包含块的大小还是相对于元素自身的大小呢?

本文就一些常用改变元素位置的属性的百分比参考对象给出总结。

2.参考对象

2.1 定位属性
  • top
  • right
  • bottom
  • left

top、left、right、bottom是定位元素属性,非定位元素设置此属性无效。

其中 top、bottom 属性MDN参考如下:
20210808_CSS参考对象1.png

其中 left、right 属性MDN参考如下:
20210808_CSS参考元素2.png

根据图中第四点可知,top、left、right、bottom定位元素属性的百分比值参考对象为其包含块(containing block)的大小,对于 top 和 bottom,相对于包含块的 clientHeight;对于 right 和 leftÿ

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
是的,CSS 的 `animation` 属性可以用来创建动画效果,通过定义动画的关键帧和一些属性,在元素上应用动画属性,从而实现动画效果。 要创建一个动画,需要定义一个 `@keyframes` 规则,该规则定义了动画的关键帧,即动画的开始状态、结束状态和间状态。可以在 `@keyframes` 规则使用百分比或关键字来指定关键帧的位置,然后在 `animation` 属性引用该 `@keyframes` 规则,并指定一些动画属性,例如持续时间、循环次数、是否反向播放等。 下面是一个简单的示例,用于说明 `animation` 属性的用法: ```html <template> <div> <button @click="animate = !animate">Animate</button> <div :class="{ 'animate': animate }"></div> </div> </template> <script> export default { data() { return { animate: false } } } </script> <style> .animate { width: 100px; height: 100px; background-color: red; animation: pulse 2s linear infinite; } @keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.1); } 100% { transform: scale(1); } } </style> ``` 在上面的代码,我们定义了一个 `animate` 变量,用于控制动画的播放状态。然后,我们通过点击按钮来切换 `animate` 变量的,从而触发 `div` 元素的动画效果。 在样式,我们定义了一个 `pulse` 的关键帧规则,该规则定义了动画的三个关键帧,分别是动画开始时的状态、动画间时的状态和动画结束时的状态。然后,在 `div` 元素上应用 `animation` 属性,并引用了 `pulse` 关键帧规则,指定动画持续时间为 2 秒,循环次数为无限,线性变化,即匀速播放。 需要注意的是,`animation` 属性CSS3 的新属性,不同浏览器对其支持程度可能会有所不同,需要进行兼容性处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值