css - 为什么不应用内联样式定义
问题描述
我正在开发谷歌表格侧栏。对于该链接到谷歌侧栏 css 包被使用。
bt1
有一个内联style background-color
声明important!
。
但是,当页面加载时,颜色是灰色的。我浏览了google css试图理解,但没有多大成功。
bt2.onClick()
- 改变bt1.disable
。您可以看到内联语句只有在禁用 bt1 时才有效。如果没有链接到 google css - 行为符合预期。
我的理解是内联样式必须始终获胜。特别是在指定时important!
我的问题是:
- 这个说法在 100% 的情况下是正确的吗?
- 如果不是 - 在什么情况下?
- 有没有办法克服它?
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons1.css">
</head>
<body>
<button id="bt1" style="background-color: rgb(43, 226, 137) !important;">bt1</button>
<button id="bt2" onclick="bt2OnClick()">bt2</button>
<script>
function bt2OnClick(){
let bt = document.getElementById("bt1");
// Switch state
bt.disabled = !bt.disabled;
}
</script>
</body>
</html>
解决方案
您的样式实际上正在应用,但是add-ons1.css
您添加的background
属性带有 alinear-gradient
所以您background-color
不会更改background-image
表示渐变的属性
所以如果你想覆盖它,只需选择background
属性而不是background-color
而且你不再需要你!important
了:)
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons1.css">
</head>
<body>
<button id="bt1" style="background: rgb(43, 226, 137)">bt1</button>
<button id="bt2" onclick="bt2OnClick()">bt2</button>
<script>
function bt2OnClick(){
let bt = document.getElementById("bt1");
// Switch state
bt.disabled = !bt.disabled;
}
</script>
</body>
</html>
推荐阅读
- java - 为什么 LinkedBlockingQueue 内部不使用 LinkedList?
- javascript - 留在所选的导航选项卡上,但也重新加载它以查看更新后更改的数据
- excel - 计算每列中特定行中的填充单元格
- android - 使用查询有效地从 Firestore 检索联系人数据
- double - SwiftUI Picker,将 String 转换为 Double
- javascript - MouseEvent单击获取RangeError:超出最大调用堆栈大小
- arrays - 为什么不能在泛型与数组类型相同的useState中使用数组
- java - 模块化 API 中的数据验证
- java - 无法找到我的代码中的错误导致我的代码给出错误答案的位置
- java - 有没有办法在maven中声明两个nexus url来搜索单个工件