首页 > 【进阶版九宫格背景图片】如何仅仅依靠background的几个属性组合搭配出酷炫的背景图片效果,并自适应任何宽高效果?

【进阶版九宫格背景图片】如何仅仅依靠background的几个属性组合搭配出酷炫的背景图片效果,并自适应任何宽高效果?

如果你要有透明度效果的背景图请移步https://blog.csdn.net/qq_37860634/article/details/119591991

这是我们最终想要达到的效果,并且支持任意宽高缩放不变形。

有些UI设计师说的就是我)喜欢搞这种带有一丝丝机械、科技、未来感的线框,兼职前端开发的我真的很讨厌酱紫的设计也(太虚伪了~

开始准备物料

第一步:切片,建议用九宫格的形式,切割有考究,主要是最大限度、最小尺寸囊括多个边界转角处的样式(亮蓝色是参考线,白色文字是描述区域规则,红色文字是宽高、分割输出的png图片文件名,正中的宫格就用背景色纯色)

第二步:输出文件(一共是8个png文件:lt、mt、rt、lm、rm、lb、mb、rb.png),需要注意小细节,我的每张图片都做了线性渐变,只为让边角和背景色更加融合(不要出现戛然而止的断层、不衔接、low逼效果:不懂什么是low逼效果看最后的那张图~~~)

 

 第三步:定义样式(如果嫌弃我的代码太多,可以无脑照搬直接拷贝代码,只要严格按照上图的切片命名规则,适当修改下变量$l_w、$r_w、$t_h、$b_h的像素值就可以搞定了)

// 酷炫卡片背景************************************************
.sg-card {// 公共变量定义----------------------------------------$card-bg: "~@/assets/common/sg-card/"; //异形背景图片路径前缀$card-bg-color:#020f2e; //中间背景纯色$l_w: 46px; //左侧边界宽度$r_w: 88px; //右侧边界宽度$t_h: 72px; //顶部边界高度$b_h: 46px; //底部边界高度// ----------------------------------------display: inline-block;//这个根据实际情况来(非必选)min-width: calc(#{$l_w} + #{$r_w});//最小宽度等于左右两端边界宽度之和min-height: calc(#{$t_h} + #{$b_h});//最小高度等于上下两端边界高度之和background-color: $card-bg-color;//背景色background-repeat: no-repeat; //一定要用不平铺的属性// 核心代码----------------------------------------background-image: // 顶部左、中、右url(#{$card-bg}lt.png), url(#{$card-bg}mt.png), url(#{$card-bg}rt.png),// 中间层左、 右url(#{$card-bg}lm.png), url(#{$card-bg}rm.png),// 底部左、中、右url(#{$card-bg}lb.png), url(#{$card-bg}mb.png), url(#{$card-bg}rb.png);background-position: // 顶部左、中、右left top, $l_w top, right top,// 中间层左、 右left $t_h, right $t_h,// 底部左、中、右left bottom, $l_w bottom, right bottom;background-size: // 顶部左、中、右$l_w $t_h, calc(100% - #{$l_w} - #{$r_w}) $t_h, $r_w $t_h,// 中间层左、 右$l_w calc(100% - #{$t_h} - #{$b_h}), $r_w calc(100% - #{$t_h} - #{$b_h}),// 底部左、中、右$l_w $b_h, calc(100% - #{$l_w} - #{$r_w}) $b_h, $r_w $b_h;// ----------------------------------------
}

最后我们来看看实现的效果吧:

最小宽高样式

宽度400px高度300px

宽度900px高度400px

 怎么样满足你大数据展示各种需求了吧?自由适配各种宽高


这就是low逼效果图

更多相关: