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

【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.mrgr.cn/news/20599.html

相关文章:

  • Redis 事务揭秘:如何确保数据一致性
  • LeetCode 3174.清除数字:一个不用栈的方法
  • 嵌入式OpenHarmony系统的一些特点
  • 高级java每日一道面试题-2024年9月04日-前端篇-前端的框架分类有哪些?
  • Linux驱动环境配置
  • 【灰度图图像间转换】
  • (二十九)STL map容器(映射)与STL pair容器(值对)
  • Excel如何把表格变成图表
  • 数据结构(15)——哈希表(2)
  • pyro.optim pyro ppl 概率编程 优化器 pytorch
  • 《机器学习》—— PCA降维
  • pytorch对不同的可调参数,分配不同的学习率
  • c# Csv文件读写示例,如果文件存在追加写入
  • Word封面对齐技巧
  • 【PyQt6 应用程序】解说+原声视频混剪无显卡精简版,无显卡可用
  • 每日OJ_牛客_解读密码(简单模拟)
  • QT教程:start()和startTimer()的区别
  • 基于Java+SpringBoot+Vue的新闻稿件管理系统
  • 8. 如何在MyBatis中实现动态SQL?动态SQL有什么用?常见的动态SQL标签有哪些?
  • [数据集][目标检测]电梯内广告牌电动车检测数据集VOC+YOLO格式2787张4类别