所有分类
  • 所有分类
  • 后端开发
CSS3新玩法!object-view-box属性让画图变得轻松自如

CSS3新玩法!object-view-box属性让画图变得轻松自如

本篇文章带大家一起深入了解一下css3中的新特性object-view-box属性,聊聊新属性的作用和使用方法,希望对大家有所帮助!Archibald在今年年初提出的新的CSS属性object-view-box。。在本文的演示中,我将着重介

哈罗!今天咱们来聊聊CSS3新加入的”object-view-box”属性,它可真是个神奇的东西!有了它,画图简直跟吃饭喝水一样容易!用它的话,html元素随心所欲地操作起来就像翻云覆雨。更别说那些有趣的切图片或者修改变效一瞬间就能搞定!

CSS3新玩法!object-view-box属性让画图变得轻松自如

额外HTML元素和不同CSS属性

把网站建起来就像拼积木那么简单,给HTML元素嵌个图片就搞定!想让图片看起来更美或者尺寸刚刚好?那就要靠CSS的帮忙了!核心技巧就是固定住背景图,调整下大小就大功告成了~

CSS3新玩法!object-view-box属性让画图变得轻松自如

介绍object-view-box属性

CSS3新玩法!object-view-box属性让画图变得轻松自如

哇,不知道你有没有听说,Jake Archiebald在CSS上弄出了个叫”object-view-box”的东西,就像个可以随意摆弄的”电影播放器”,想怎么变大小、放哪里都行。据说Chrome 104可能已经能支持这项功能了,想试试的话,那就赶紧找个测试版!

figure {
    position: relative;
    width: 300px;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 15px;
}
img {
    position: absolute;
    left: -23%;
    top: 0;
    right: 0;
    bottom: 0;
    width: 180%;
    height: 100%;
    object-fit: cover;
}

object-view-box属性值

说起CSS这事儿,跟你说说个小独门小技巧——要是想把图片弄成方形的,加个”object-view-box”就妥了!然后咱们来说一说实际应用中可能遇到的问题,比如怎么用inset()这个函数画出四周边缘都有的长方形?其实很简单,调下inset的值就搞定!再有千万别忘了加个”object-fit:cover”,这样才能够确保图片完美不变形!

.brownies {
  width: 300px;
  aspect-ratio: 3 / 2;
  background-image: url("brownies.jpg");
  background-size: 700px auto;
  background-position: 77% 68%;
  background-repeat: no-repeat;
}

图像内在尺寸

知道不?图片大小就是固定的宽高。放心,用CSS,小调整不是问题,比如从大概1200 x 1200像素缩成300 x 300像素这种小事儿!

使用inset函数

简单说,若用上insert()这招,裁个图就跟切豆腐似的,跟调margin或padding差不多,关键就是动动图片四周边距。图塞进去,搞定了!

CSS3新玩法!object-view-box属性让画图变得轻松自如

修复图像失真

图形变形怎么办?别急,用object-fit就能搞定。还有,别忘了给inset加点数值,这样修剪大小也能轻松掌握!

放大或缩小图像

img {
    aspect-ratio: 1;
    width: 300px;
}

剪个圆就能搞定的?不完全是那样,你还可以调整图片大小!大到儿无穷小都随你,但是别在前景对象视图盒动画上卡壳。

CSS3新玩法!object-view-box属性让画图变得轻松自如

展望未来

有个超级好用的工具叫object-view-box,用它设计网站,美得不要不要的。更神奇的是,用它编辑图片也是一流,哪怕你只是初学者,也能瞬间让图变美!

看完这个,你就能搞懂怎么用CSS3里新的object-view-box功能!

原文链接:https://www.icz.com/technicalinformation/web/vue2/2024/04/14234.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?