html - 风格不适用于课堂
问题描述
我目前正面临一个非常奇怪的问题,我正在处理一个规模庞大的项目,其中包含许多 html/js/etc 文件,但我正在共享一个大多数人共有的 css 文件。在我的一个文件中,我试图添加以下 css:
.smallerDatetime {
width: 160px;
}
一个非常简单的样式,应该没有任何问题,然后我将它添加到我的控件中:
<input id="toDate" type="text" class="form-control datetimeController smallerDatetime" placeholder="To">
最初,这不起作用。我很好奇是否存在未加载规则的问题,但在浏览器的开发模式下,我看到了这个:
从这一点来看,很明显正在加载 CSS 规则。然后我开始怀疑我对类的了解(最右边的类通常会覆盖左边的类)是否是错误的,我尝试了:
<input id="toDate" type="text" class="smallerDatetime form-control datetimeController" placeholder="To">
预计这也不起作用。后来,我尝试了以下方法:
<input id="toDate" type="text" class="smallerDatetime form-control" placeholder="To" style="width:160px">
这出人意料地奏效了,但后来让我更加困惑。很明显,正在加载规则(特别是在服务器端处理和导入 css- 时,清除缓存后很容易验证它是否已更新),但不知何故不适用。我在这里能错过什么?
我试图环顾现有答案,但其中大多数都存在格式问题或规则本身的其他问题,但在这种情况下,我知道规则有效,因为它的风格很好。css 和同一个 html 文件中的所有其他规则都可以正常工作。
解决方案
您的选择器.smallerDatetime
不如.form-inline .form-control
. 因此它的属性被覆盖。
要使您的选择器更具体,只需使其更具体:
例如.form-inline .form-control.smallerDateTime
。
为了更清楚,更具体并不意味着您重复初始选择器。
body .content form.myform .form-group .smallerDateTime
也比.form-inline .form-control
它根本没有提到初始类之一更具体。
PS:不要使用!important
. 为什么?原因如下:
在 CSS 中使用“!important”有什么含义?
99% 的案例你可以!important
通过适当的级联来放弃使用。
推荐阅读
- vuejs2 - 服务器端渲染时将 vuetify 样式移动到 css 文件
- ruby-on-rails - Sprockets::FileNotFound at / 找不到类型为“application/javascript”的文件“react-server”
- mq - RocketMQ 连接到 Z/OS IBM MQ 队列
- django - IF 语句中的条件要求明确指定值
- java - 在一条线上连续检查输入?
- c# - 尝试创建列表时无法创建抽象类
使用 csv.GetRecords() 从 CSV - django-views - ModuleNotFoundError:没有名为“条带”的模块
- angular - 过滤器列表 - 逻辑问题
- excel - 另存为 xlsx 然后关闭而不关闭所有工作簿
- bash - 仅当不在 bash 中访问时才替换文件