我试图弄清楚我是如何在AJAX加载的页面上丢失我的CSS优先级。我在主页面上加载我的自定义CSS,因此应该允许我的CSS覆盖任何bootstrap CSS。通过AJAX加载新内容后,bootstrap会覆盖我的自定义CSS。我可以通过浏览器调试看到bootstrap覆盖了属性。
自定义CSS样式:
.mytableclass td {
font-size: small;
text-align: center;
vertical-align: middle;}
由于bootstrap没有设置font-size或text-align,所以它适用得很好,但是我的vertical-align被覆盖了。我没有在AJAX加载页面中再次加载CSS文件。必须有某种原因,但几个小时后我无法理解。
答案 0 :(得分:0)
由于你没有发布Bootstrap CSS类定义,我猜它是一个CSS选择器优先级问题。
Bootstrap CSS选择器比你的更具体吗? Then it gets priority over any CSS loaded later。将您的选择器设置为特定或更具体,或应用!important指令,但不建议这样做(另请参阅ITCSS)。
答案 1 :(得分:0)
在其他所有内容之后加载特定的CSS不会给它任何优先级。您要做的是确保它具有更具体的选择器。 (你也可以使用!important
,但这是一个黑客,我不推荐它,除非你无法得到任何其他工作。
如果.mytableclass td
是选择器引导程序使用的,请考虑在其前面添加一些内容。即body .mytableclass td
。或者你可以进入HTML本身并添加一个你只用作AJAX CSS中的选择器的id。