当前位置: 首页 > article >正文

【CSS】background样式没有生效

1. 问题背景

设置了background-size:"100% 100%" 没有生效。

background: `url(${this.getUrl(this.state.scenelist.length > 1 ? item.bannerLongUrl : item.bannerShortUrl)})`,\
background-size:"100% 100%"

2.分析

2.1 结论

由于图片需要远程获取,如果先执行 background-size,等到图片获取了再执行backgroud,backgroud里面的background-size:auto会覆盖单独设置的background-size: "100% 100%",会使样式失效。

2.2 原理

background 是一个 CSS 的复合属性,用于一次性设置元素的背景样式。它可以包含以下多个子属性:

  1. background-color:用于设置元素的背景颜色。
  2. background-image:用于设置元素的背景图片。
  3. background-repeat:用于设置背景图片的重复方式(如 repeat, repeat-x, repeat-y, no-repeat)。
  4. background-size:用于设置背景图片的大小(如 auto, cover, contain 或具体的像素值)。

通过使用 background 属性,您可以同时设置这些不同的背景属性,使得控制元素的背景样式更加方便和简洁。

当使用background: url(...);来设置background-image属性时,未指定的其他背景属性将采用它们的默认值。以下是一些关于默认值的常见情况:

  1. background-color:如果您只设置了background-image,而未显式设置background-color,则背景颜色将默认为透明(transparent)。
  2. background-repeat:默认情况下,背景图像会在水平和垂直方向上平铺(repeat)。
  3. background-position:默认情况下,背景图像位于元素的左上角(0% 0%)。
  4. background-size:默认情况下,背景图像大小是原始大小(auto)。
background: `url(${this.getUrl(this.state.scenelist.length > 1 ? item.bannerLongUrl : item.bannerShortUrl)})`,\
background-size:"100% 100%"

代码等同于

// backgroud
background-image:`url(${getS3NetworkUr1( this.state.scenelist.length wew 1 ? item.bannerLongUrl : item.bannerShortUr1)})`
background-color:`transparent`
background-repeat:`repeat`
background-size:`auto`// 背景图像大小是原始大小

background-size: "100% 100%",

3.解决方案:不要既采用复合属性,又使用子属性

3.1 子属性分开设置,用到什么设置什么(推荐)

backgroundImage: `url(${getUrl(scenelist.length > 1 ? item.bannerLongUrl : item.bannerShortUrl)})`,
backgroundSize: "100% 100%",

3.2 只设置复合属性

background: `url(${this.getUrl(this.state.scenelist.length > 1 ? item.bannerLongUrl : item.bannerShortUrl)}) 100% 100%`,

http://www.kler.cn/a/292320.html

相关文章:

  • LogViewer NLog, Log4Net, Log4j 文本日志可视化
  • flutter字体大小切换案例 小字体,标准字体,大字体,超大字体案例
  • Spring Boot框架:构建可扩展的网上商城
  • shell编程之变量与引用
  • 【安全科普】NUMA防火墙诞生记
  • vite + vue3 + ts解决别名引用@/api/user报错找不到相应的模块
  • Java项目: 基于SpringBoot+mysql网上点餐系统分前后台(含源码+数据库+答辩PPT+毕业论文)
  • 第四届先进制造技术与电子信息国际学术会议(AMTEI 2024)
  • Linux: network: TCP: errno: EWOULDBLOCK
  • 视频智能分析平台LntonAIServer安防监控平台花屏检测、马赛克检测功能介绍
  • Python知识点:在Python应用中,如何使用Confluence进行文档管理
  • npm i --legacy-peer-deps
  • 数学建模强化宝典(13)M-K检验法
  • 基于 BiLSTM+Attention 实现降雨预测多变量时序分类——明日是否降雨
  • 深入剖析工厂模式与策略模式的核心差异
  • 鸿蒙(API 12 Beta6版)图形【AR物体摆放】 AR引擎服务
  • Python面向对象(14成员成员修饰符)
  • 【前端面试】Webpack、Rollup 和 Gulp 构建工具了解
  • WCDMA 辅同步信号S_SCH介绍,MATLAB实现
  • 深入理解Docker核心原理:全面解析Docker Client
  • 多线程的简单了解——多客户端链接
  • k8s工作负载控制器--Statefulset
  • 【Redis】事务主从复制哨兵集群缓存分布式锁
  • 【Linux 从基础到进阶】MongoDB 数据库安装与调优
  • 无人机螺旋桨常见材料!!!
  • Ascend C算子性能优化实用技巧03——搬运优化