将CSS样式应用于ID元素时,其名称的开头保持相同,而结尾发生变化

将CSS样式应用于ID元素时,其名称的开头保持相同,而结尾发生变化,css,wordpress,html,css-selectors,Css,Wordpress,Html,Css Selectors,在WordPress中,博客文章的标题通常使用ID元素进行格式化,ID元素由前缀(如“post”)组成,前缀从不变化,后跟WordPress生成的可变数字后缀,对应于每个文章唯一的顺序文章编号 在WordPress主题single.php文件中,使用HTML5(但问题与HTML4相同),博客文章标题的代码如下所示: <article id="post-<?php the_ID(); ?>" role="main"> #post-[sequential number] {

在WordPress中,博客文章的标题通常使用ID元素进行格式化,ID元素由前缀(如“post”)组成,前缀从不变化,后跟WordPress生成的可变数字后缀,对应于每个文章唯一的顺序文章编号

在WordPress主题single.php文件中,使用HTML5(但问题与HTML4相同),博客文章标题的代码如下所示:

<article id="post-<?php the_ID(); ?>" role="main">
#post-[sequential number] {
    position: relative;
}

#post-[sequential number] blockquote,#post-[sequential number] ul,#post-[sequential number] ol {
    color: #555;
    margin: 0 14px 5px;
    line-height: 1.5;
}

#post-[sequential number] ul li,.entry ul li {
    list-style-type: disc;
    margin: 0 20px 5px;
}

#post-[sequential number] ol li {
    list-style: decimal;
    margin: 0 20px 5px;
}

#post-[sequential number] blockquote {
    font-style: italic;
    border-left: 1px solid #ccc;
    margin-left: 21px;
    padding-left: 10px;
}
为了将上面列出的样式应用于#post-[sequential number]ID的后代

在本例中,添加一个类(比如,
。正如您所看到的,显然,所需的样式不会应用于后代blockquote和ul元素

更新
有三种可能的解决方案,在某些情况下都同样有效和合适。请参见下文。

您可以使用
div[id*='post-']{…}
或更好的
div[id^='post-']{…}

第一个将选择id为且包含引号中的值的所有div元素。第二个将选择id为且以引号中的值开头的所有div元素


示例:

@Sotiris'答案是CSS中的方法。但是,如果您可以编辑WordPress主题,您可以在HTML中添加
class=“post”
,例如

<article class="post" id="post-<?php the_ID(); ?>" role="main">
此CSS具有在IE6中工作的优势

编辑:


在本例中,添加一个类(例如,
执行此操作。

而不仅仅是将post类添加到您真正应该使用的文章中:

<?php post_class(); ?>


这将为您提供一个post类以及许多其他类,用于针对粘性帖子、自定义帖子类型、附件、自定义页面…

感谢您的及时回复。我猜某种通配符可能会起作用,但我在谷歌搜索时找不到一个通配符。您的意思是将通配符应用于html吗?因为
而不是
仍然不起作用。或者你的意思是将通配符应用于css?
#post-*
#post
也不起作用。@Donald你在css中使用它。不需要在html中更改任何内容。用示例检查更新的答案。我将JSFIDLE示例更新为。这只是为了说明如何使用它它与
文章
标记一起工作,以防出现混淆。@Sotiris,@Anothershubery,我已经尝试将你的建议应用到我的问题上,但显然仍然没有正确的方法:@Donald没有理由编辑你的html并添加星号。这在css中有它的作用。检查它:谢谢,一个很好的建议。我确实有这是一个非常简单的设置,不需要对不同的帖子类别进行特殊的样式设置。但实际上,您的解决方案可以与CSS结合起来,为某些样式提供标准化,为其他样式提供更精细的定制。基本上,这三个答案在某些情况下同样适用。wor的“推荐”方式dpress将使用post_类,因为一些插件将钩住包含的类,以在您的帖子中设置其元素的样式。它们可能没有钩住。post因此可能无法在您的网站上正常工作。
<article class="post" id="post-5434">
.post {
    position: relative;
}

/* and so on... */
article {
    display: block;
}
<?php post_class(); ?>