内联 Style 简写属性的发现

简介: # 内联 Style 简写属性的发现 ## 开始 平时在使用内联样式简写属性的时候,可能没有考虑到浏览器解析的问题。问题不大,简写的好处是代码量少,但最近发现了一个有意思的内联简写属性的问题。 以下问题仅在内联样式里会出现,如果是通过 style 标签或 css 文件引入则不会有这样的问题。 ## 例子 ### background 设置一个元素的背景色为白色,

内联 Style 简写属性的发现

开始

平时在使用内联样式简写属性的时候,可能没有考虑到浏览器解析的问题。问题不大,简写的好处是代码量少,但最近发现了一个有意思的内联简写属性的问题。

以下问题仅在内联样式里会出现,如果是通过 style 标签或 css 文件引入则不会有这样的问题。

例子

background

设置一个元素的背景色为白色,比如这么写:

<div style="background: #fff;"></div>

你可能以为浏览器会这样输出:

<div style="background-color: #fff;"></div>

一下少了 6 个字节,而浏览器的真真实解析情况是:

screenshot.png

潜在的问题是:将会默认设置一些其他的属性到样式里,而通过 CSS 又很难恢复这种默认属性

验证

我们来验证一下这个问题:

使用属性简写的浏览器呈现:

Snip20161217_4.png

而非简写的呈现:

Snip20161217_5.png

上面例子里的 HTML 代码:

<div style="background: #fff;"></div>

那么:

$0.style.backgroundImage === '' // => false

而如果例子修改为:

<div style="background-color: #fff;"></div>

那么:

$0.style.backgroundImage === '' // => true

font 验证

另外一个例子是 font 属性,也会有这个问题:

Snip20161217_10.png

这个时候:

$0.style.fontWeight === ''  // => false

Snip20161217_11.png

结果:

$0.style.fontWeight === ''  // => true

结论

能看到通过 style 获取元素属性时会返回非预期结果,所以使用 CSS 处理这类样式,最好是只设置你需要的属性,尽量不要简写,除非你明确知道这个操作的结果

目录
相关文章
|
3月前
|
机器学习/深度学习 人工智能 运维
运维告警别乱飞了!AI智能报警案例解析
运维告警别乱飞了!AI智能报警案例解析
468 0
|
4月前
|
人工智能 自然语言处理 数据可视化
聊聊多维表格与BI|AI x Data 数据产品的发展趋势
多维表格与Quick BI深度融合,助力企业在AI与数据时代实现高效分析。多维表格作为轻量级数据管理工具,擅长快速填报与基础分析;而Quick BI则专注于多源数据整合、深度洞察与可视化展示。两者协同,既能降低使用门槛,又能提升数据分析的广度与深度,满足企业从数据采集到智能决策的全链路需求。未来,数据产品将朝着低门槛、多场景与实用性方向发展,推动商业智能迈向新高度。
318 25
|
3月前
|
调度 开发者 异构计算
冠军10万美金!AMD 2025 分布式推理算子优化挑战赛来了
冠军10万美金!AMD 2025 分布式推理算子优化挑战赛来了
371 13
|
3月前
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器4核8G配置:ECS实例规格、CPU型号及使用场景说明
阿里云4核8G服务器提供多种ECS实例规格,如高主频计算型hfc8i、ecs.c9i、计算型c8i、通用算力型u1、经济型e等,适配不同应用场景,涵盖高性能计算、AI推理、Web服务、数据分析等领域。
479 2
|
3月前
|
传感器 算法 自动驾驶
【卡尔曼滤波跟踪】基于卡尔曼滤波的二维目标跟踪(Matlab实现)
【卡尔曼滤波跟踪】基于卡尔曼滤波的二维目标跟踪(Matlab实现)
225 0
|
3月前
|
人工智能 并行计算 算法
三相PWM整流器有限集模型预测电流控制Simulink仿真模型
三相PWM整流器有限集模型预测电流控制Simulink仿真模型
109 0
|
5月前
|
缓存 Java Docker
如何对应用代码进行优化以提高在Docker容器中的性能?
如何对应用代码进行优化以提高在Docker容器中的性能?
320 1
|
4月前
|
安全 机器人 数据安全/隐私保护
手机屏幕点击器,屏幕自动点击器,免费连点器(自动点击)【autojs】
完整UI界面:包含坐标录制、执行控制、参数设置等区域 坐标录制功能:实时捕捉屏幕点击位置并记录坐标
|
7月前
|
SQL 分布式计算 DataWorks
使用DataWorks PyODPS节点调用XGBoost算法
本文介绍如何在DataWorks中通过PyODPS3节点调用XGBoost算法完成模型训练与测试,并实现周期离线调度。主要内容包括:1) 使用ODPS SQL构建数据集;2) 创建PyODPS3节点进行数据处理与模型训练;3) 构建支持XGBoost的自定义镜像;4) 测试运行并选择对应镜像。适用于需要集成机器学习算法到大数据工作流的用户。
304 24
|
存储 缓存 安全
网络文件系统 (NFS)
【10月更文挑战第11天】
487 1