Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript CSS组合选择_Javascript_Css_Css Selectors - Fatal编程技术网

Javascript CSS组合选择

Javascript CSS组合选择,javascript,css,css-selectors,Javascript,Css,Css Selectors,我想知道是否有一种更简单的方法来针对以下css类,因为它可能会导致一点膨胀: 我有不同的单页,我想禁用粘性页眉效果,因为其他元素用于固定在该页上。到目前为止,我使用以下方法选择这些类: .page-id-xx .header-is-sticky .header { position: static; } 如果我想在20个页面上禁用粘性标题,我将使用selectors类20次以上,但只有页面id xx会更改。看起来是这样的: .page-id-1 .header-is-sticky .head

我想知道是否有一种更简单的方法来针对以下css类,因为它可能会导致一点膨胀:

我有不同的单页,我想禁用粘性页眉效果,因为其他元素用于固定在该页上。到目前为止,我使用以下方法选择这些类:

.page-id-xx .header-is-sticky .header {
position: static; 
}
如果我想在20个页面上禁用粘性标题,我将使用selectors类20次以上,但只有页面id xx会更改。看起来是这样的:

.page-id-1 .header-is-sticky .header,
.page-id-2 .header-is-sticky .header,
.page-id-3 .header-is-sticky .header,

and so on ... 
我想知道,是否有一种更智能的方法来定位.header类,也许可以借助一些CombiSelector?还是有一个快速的javascript代码片段?可能是通过检查元素subnav的ID来执行if循环,该元素应该交替地粘贴到该页面的标题上

提前感谢:

可能不必要的特殊性

您是否绝对需要父选择器,即page-id-n,如果不需要,那么显然以下选项会更优雅一些:

.header-is-sticky .header {
     position: static; 
}
利用CSS选择器

CSS提供了一系列可用于根据其属性的各种约束针对特定元素的方法。以开头并包含选择器应该可以满足您的需要

/* This will match any element that has a class attribute that starts with "page-id" */
[class^="page-id"] .header-is-sticky .header {
    position: static; 
}

/* This will match any element that has a class attribute that contains "page-id" */
[class*="page-id"] .header-is-sticky .header {
    position: static; 
}
可能不必要的特殊性

您是否绝对需要父选择器,即page-id-n,如果不需要,那么显然以下选项会更优雅一些:

.header-is-sticky .header {
     position: static; 
}
利用CSS选择器

CSS提供了一系列可用于根据其属性的各种约束针对特定元素的方法。以开头并包含选择器应该可以满足您的需要

/* This will match any element that has a class attribute that starts with "page-id" */
[class^="page-id"] .header-is-sticky .header {
    position: static; 
}

/* This will match any element that has a class attribute that contains "page-id" */
[class*="page-id"] .header-is-sticky .header {
    position: static; 
}

你好,里昂,谢谢你的快速回复。是的,需要使用页面id xx来标识页面,其中页眉不应再粘滞。在其他页面上,标题应该继续保持粘性,这就是重点。通过在id后添加一个数字,每个页面都有其唯一的页面id,即使是页眉应继续保持粘性的页面,因此这些类被命名为page-id-1、page-id-2、page-id-3。。。等因此,我担心,类页面id的一个全局参数无法解决这个问题,因为每个页面都会获得其唯一的id和添加的编号:那么CSS选择器方法很可能适合您。值得注意的是,只有当您的页面类是元素上的第一个时,“以开头”才起作用,但是“包含”类应按预期工作。我尝试了一下,结果粘性标题被全局禁用,因为每个页面都有页面id类。例如,我有100个子页面,每个页面的开头都有页面id,我只想禁用从第id-1页到第id-20页(共100页)的粘性标题。id为21-100的页面仍应具有粘性标题,因为不会有其他元素具有粘性。有没有办法针对页面1-20的粘性元素,并根据.header类定义css规则?谢谢你的耐心;遗憾的是,我不熟悉只适用于特定范围(即第1-20页)的页面。您可能会求助于一小段Javascript来完成这项工作,即解析页码,具体取决于它的值,将您的header is sticky类应用于适当的元素。但是纯粹使用CSS,我不知道如果不显式地硬编码你需要的页面,它是否可能实现。是的,我想是的。如果还有什么想法,请告诉我。非常感谢您对combi选择器的提示。我想,我可以在其他情况下使用它们。到目前为止,不要在这件事上胡思乱想:祝你有愉快的一天,里昂!你好,里昂,谢谢你的快速回复。是的,需要使用页面id xx来标识页面,其中页眉不应再粘滞。在其他页面上,标题应该继续保持粘性,这就是重点。通过在id后添加一个数字,每个页面都有其唯一的页面id,即使是页眉应继续保持粘性的页面,因此这些类被命名为page-id-1、page-id-2、page-id-3。。。等因此,我担心,类页面id的一个全局参数无法解决这个问题,因为每个页面都会获得其唯一的id和添加的编号:那么CSS选择器方法很可能适合您。值得注意的是,只有当您的页面类是元素上的第一个时,“以开头”才起作用,但是“包含”类应按预期工作。我尝试了一下,结果粘性标题被全局禁用,因为每个页面都有页面id类。例如,我有100个子页面,每个页面的开头都有页面id,我只想禁用从第id-1页到第id-20页(共100页)的粘性标题。id为21-100的页面仍应具有粘性标题,因为不会有其他元素具有粘性。有没有办法针对页面1-20的粘性元素,并根据.header类定义css规则?谢谢你的帮助
耐心遗憾的是,我不熟悉只适用于特定范围(即第1-20页)的页面。您可能会求助于一小段Javascript来完成这项工作,即解析页码,具体取决于它的值,将您的header is sticky类应用于适当的元素。但是纯粹使用CSS,我不知道如果不显式地硬编码你需要的页面,它是否可能实现。是的,我想是的。如果还有什么想法,请告诉我。非常感谢您对combi选择器的提示。我想,我可以在其他情况下使用它们。到目前为止,不要在这件事上胡思乱想:祝你有愉快的一天,里昂!