如何从一页中排除 CSS?或者如何重置一页的边距

Posted

技术标签:

【中文标题】如何从一页中排除 CSS?或者如何重置一页的边距【英文标题】:How to exclude CSS from one Page? Or how to reset margins of one page 【发布时间】:2017-07-30 21:09:18 【问题描述】:

我来找你似乎是快速解决问题,但我尝试过的所有方法都没有按照我的计划进行。

所以我想做的是将以下 CSS 应用于我网站的所有页面,除了一个:.page-id-145。我尝试在以下代码的开头使用 section:not(.page-id-145) ,但它最终弄乱了我的其他页面,同时修复了我需要的页面。我怎样才能简单地从我想要的页面中排除以下代码,而不会弄乱其他页面?我特别希望(边距和浮动)在第 145 页上消失。

基本上,我只需要一种方法来设置此特定页面的边距/浮动:http://www.thegras-s-rootsgarage.com/great-albums-rym-list/ 在左侧,而不是在中间,这是以下 CSS 描述的内容。

这是我的主题 CSS,它可能会影响相关的特定页面:

#header,
#main-content,
#wrapper-footer 
  float: none;
  height: auto;
  position: relative;
  width: 100%;        

#wrapper #main-content       /* this section likely must change */
  padding: 28px 28px 10px;
  width: 720px;         
  margin: 0 auto;
  float: none;

#content 
  float: none;
  width: 750px;       

这是我之前提出的另一个例外情况,可能会或可能不会影响它:

.page-id-145 .header-image display: none;

总而言之,我只是想在特定页面的左侧开始我的页边距,而不是上面 CSS 中指定的内容。不幸的是,我经历了各种迭代以使其像 :not 甚至取消设置、继承和初始一样工作,但无济于事。另一个可能起作用的细节包括这个特定的 Wordpress 主题被设计为包含侧边栏小部件的事实 - 不确定这是否会有所帮助。有什么想法吗?

提前感谢您,祝您有美好的一天。

【问题讨论】:

【参考方案1】:

如果可以,请将主题的 css 更改为:

#wrapper #main-content 
   padding: 28px 28px 10px;
   width: 720px;


#wrapper:not(.page-id-145) #main-content 
   margin: 0 auto;
   float: none;

由于 page-id-145 类应用于具有包装器 id 的同一元素,因此您必须在该元素上指定 :not(.page-id-145)。我将样式分为两部分,第一部分将应用于#wrapper #main-content 的所有实例,而第二部分不会应用于 page-id-145。

如果您无法更改主题的 css(并且只能添加自定义 css),那么您可以使用它来覆盖它:

#wrapper.page-id-145 #main-content 
   margin: 0; /* can also be unset or initial, whatever you prefer */
   float: /* whatever you want it to be here */;

【讨论】:

第一个选择完美,非常感谢。我之前尝试过同样的想法,但我把 :not 放在#wrapper 前面,就像 n00b 一样,所以我想这就是区别。非常感谢你的帮助!干杯。 万岁!没问题:)

以上是关于如何从一页中排除 CSS?或者如何重置一页的边距的主要内容,如果未能解决你的问题,请参考以下文章

如何从 laravel 分页的第一页中删除查询字符串页面?

如何在一页中使用 vuetify.css 和 bootstrap?

jsp分页中,删除最后一页的记录之后怎么回到首页

从一页到另一页的反应导航不起作用

word如何另起一页

CSS 虚假边距