html - 如何使 CSS 应用于特定的特定元素?

标签 html css

我正在尝试创建一个时间线,如图所示 here . 在示例中,作者使用了 <p> CSS中的标签显示时间轴效果。当我在我的代码中使用此代码时。我用过 <p> 的每个部分标记获得我不想要的 CSS 效果。

因此,为了避免这种情况,我尝试使用我给所有 <p> 的 ID我希望效果在其中显示 ID 的标记,并使用该 ID 在 CSS 文件中声明了 CSS。

这是我尝试过的:

#te p {
  border-top: 2px dashed;
  border-color: blue !important;
  margin: 0;
  padding: 30px;
}

#te p:nth-child(even) {
  border-left: 2px dashed;
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;
  margin-right: 30px;
  padding-right: 0;
}

#te p:nth-child(odd) {
  border-right: 2px dashed;
  border-top-right-radius: 30px;
  border-bottom-right-radius: 30px;
  margin-left: 30px;
  padding-left: 0;
}

#te p:first-child {
  border-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

#te p:last-child {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
<div>
  <p id="te">Lorem ipsum dolor sit amet consectetur adipisicing elit. Adipisci, iste iusto quas eligendi corporis id eius corrupti temporibus velit? Molestias harum voluptatibus veritatis explicabo ut velit deserunt, saepe sit commodi?</p>
  <p id="te">Lorem ipsum dolor sit amet consectetur adipisicing elit. Adipisci, iste iusto quas eligendi corporis id eius corrupti temporibus velit? Molestias harum voluptatibus veritatis explicabo ut velit deserunt, saepe sit commodi?</p>
  <p id="te">Lorem ipsum dolor sit amet consectetur adipisicing elit. Adipisci, iste iusto quas eligendi corporis id eius corrupti temporibus velit? Molestias harum voluptatibus veritatis explicabo ut velit deserunt, saepe sit commodi?</p>
  <p id="te">Lorem ipsum dolor sit amet consectetur adipisicing elit. Adipisci, iste iusto quas eligendi corporis id eius corrupti temporibus velit? Molestias harum voluptatibus veritatis explicabo ut velit deserunt, saepe sit commodi?</p>
  <p id="te">Lorem ipsum dolor sit amet consectetur adipisicing elit. Adipisci, iste iusto quas eligendi corporis id eius corrupti temporibus velit? Molestias harum voluptatibus veritatis explicabo ut velit deserunt, saepe sit commodi?</p>
</div>

但是没有用。 CSS 没有执行。之后我尝试了 this 中的建议堆栈溢出问题。但这也没有用。

那么我如何将此 CSS 仅应用于少数 <p>这里提到的标签而不是任何其他 <p>代码中其他地方存在的标签?

谢谢

最佳答案

您的代码不起作用,因为在 ID 之后有一个空格,它将尝试选择 #te 的后代,匹配 p

所以你必须颠倒这些选择器的顺序,并删除空格,比如:

p#te

而且,ID 意味着是唯一的,因此您应该改用类(您可以通过 . 而不是 # 选择它)。

因此,您的代码应如下所示:

p.te{
  border-top: 2px dashed;
  border-color: blue !important;
  margin: 0;
  padding: 30px;
}

p.te:nth-child(even) {
  border-left: 2px dashed;
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;
  margin-right: 30px;
  padding-right: 0;
}

p.te:nth-child(odd) {
  border-right: 2px dashed;
  border-top-right-radius: 30px;
  border-bottom-right-radius: 30px;
  margin-left: 30px;
  padding-left: 0;
}

p.te:first-child {
  border-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

p.te:last-child {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
<div>
  <p class="te">Lorem ipsum dolor sit amet consectetur adipisicing elit. Adipisci, iste iusto quas eligendi corporis id eius corrupti temporibus velit? Molestias harum voluptatibus veritatis explicabo ut velit deserunt, saepe sit commodi?</p>
  <p class="te">Lorem ipsum dolor sit amet consectetur adipisicing elit. Adipisci, iste iusto quas eligendi corporis id eius corrupti temporibus velit? Molestias harum voluptatibus veritatis explicabo ut velit deserunt, saepe sit commodi?</p>
  <p class="te">Lorem ipsum dolor sit amet consectetur adipisicing elit. Adipisci, iste iusto quas eligendi corporis id eius corrupti temporibus velit? Molestias harum voluptatibus veritatis explicabo ut velit deserunt, saepe sit commodi?</p>
  <p class="te">Lorem ipsum dolor sit amet consectetur adipisicing elit. Adipisci, iste iusto quas eligendi corporis id eius corrupti temporibus velit? Molestias harum voluptatibus veritatis explicabo ut velit deserunt, saepe sit commodi?</p>
  <p class="te">Lorem ipsum dolor sit amet consectetur adipisicing elit. Adipisci, iste iusto quas eligendi corporis id eius corrupti temporibus velit? Molestias harum voluptatibus veritatis explicabo ut velit deserunt, saepe sit commodi?</p>
</div>

关于html - 如何使 CSS 应用于特定的特定元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59485904/

相关文章:

javascript - 如何使用异常输入将数据从表单提取到 session 中

html - 如何为 Google Chrome 和 Google Tasks 网站创建用户样式?

html - 列表的水平对齐

javascript - 使用javascript翻转文本

html - Bootstrap 折叠菜单不显示样式

c# - 需要 CSS 方面的帮助

javascript - 有没有办法防止浏览器点击鼠标刷新?

javascript - 将 Canvas 绘制成较小的 Canvas 不起作用

javascript - 在屏幕更改时重置移动切换按钮条件

html - 如何强制我的表头行与其他表行的高度相同?