涉及伪类first-child和dropcap的CSS选择器

2024-04-07

我需要格式化类似于下面的 HTML。基本上一个报价是optional,我需要将正文段落的第一个字母大写。

<article>
 <p class="quote"> <!-- quote is optional -->
   Genius begins great works; labor alone finishes them.-- Joseph Joubert
 </p>
 <p> <!-- "L" is a dropcap -->
  Life is like a box of chocolates.
 </p>
 <p>...</p>
 <p>...</p>
</article> 

我的 CSS 看起来像这样:

article > p:first-child:first-letter
{
 float: left;
 font-family: Georgia, serif;
 font-size: 360%;
 line-height: 0.85em;
 margin-right: 0.05em;
}
p.quote {
 font-weight: bold;
}

目前在引入报价时不起作用。 AFAIK 我无法选择文章的第一个子 P,它不是类“quote”。如果我无法解决这个问题,我将使用 jQuery,但目前我正在寻找一种仅使用 CSS 的方法。

提前致谢!


如果您可以使用 CSS3 选择器,请尝试使用这些(组合在一起):

/* Select the first child if it's not a .quote */
article > p:not(.quote):first-child:first-letter, 
/* Or, if the first child is a .quote, select the following one instead */
article > p.quote:first-child + p:first-letter
{
 float: left;
 font-family: Georgia, serif;
 font-size: 360%;
 line-height: 0.85em;
 margin-right: 0.05em;
}

查看 jsFiddle 演示 http://jsfiddle.net/BoltClock/kZ7u9

否则我认为你必须进行一些覆盖才能获得所需的效果。

一些解释

The 否定伪类:not() http://www.w3.org/TR/css3-selectors/#negation总是被处理独立地复合选择器中的所有其他类型、ID、类和伪类。这与您如何与其他选择器安排它无关。

换句话说:你不能使用:not()从与简单选择器的其余部分匹配的选择中删除或过滤掉与否定中的内容匹配的元素。这也意味着与:*-child() and :*-of-type()伪类不受:not().

所以上面的第一个选择器,

article > p:not(.quote):first-child:first-letter

工作原理大致如下:

  1. 找到每一个p元素。

    • 如果没有找到,则忽略。

  2. 如果找到,请检查是否有此p is the :first-child and如果它是:not(.quote).

    • 如果不是第一个孩子,请忽略。
    • 如果它有quote类,忽略。

  3. 如果它与两个伪类都匹配,请检查这是否p是一个孩子article.

    • 如果没有,请忽略。

  4. 如果是这样,抓住它:first-letter.

  5. 应用规则。

另一方面,第二个选择器相对简单:

article > p.quote:first-child + p:first-letter

它所做的就是采取p就在第一个孩子之后article如果它是一个p.quote,并将规则应用于其:first-letter.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

涉及伪类first-child和dropcap的CSS选择器 的相关文章

  • 为什么 CSS 重置不使用“*”来覆盖所有元素?

    For example the Meyer reset http meyerweb com eric tools css reset has a long list of elements1 which I believe can be r
  • 识别出现在指定位置的所有元素

    jQuery 中是否有任何方法可以选择位于特定位置的所有元素 例如选择位于 left 100 和 top 300 的元素 另一个 div 位于同一位置 单击时我想获取两个 Div 的 ID 如果我可以选择位于一系列位置的元素 那就太好了 h
  • 在 Selenium 中自动执行下拉菜单而不选择

    我正在尝试使用 Selenium 从下拉列表中选择一个元素 我已经能够选择下拉列表 但我不知道如何从下拉列表中选择特定元素 因为该网站不使用 select 因此我无法使用内置的 select 类 作为参考 这是下拉列表中元素之一的 HTML
  • 我无法在项目中使用节点波本威士忌

    我尝试对 scss 文件使用 npm 模块 波本威士忌 我收到以下错误 with function var paths Array prototype slice call arguments return concat apply bou
  • Qodoo / openERP中子节点的web Xpath?

    这里我想在现有的 UL 中插入一个 LI 项目 我试过这个 XML ul li a 1 a li li a 2 a li li a 3 a li ul XPATH
  • 如何在 Selenium 中使用 CSS 选择器查找非根元素的直接后代?

    我正在尝试重用找到的 WebElement table 下面来搜索它的后代和直系后代 table tbody tr td div foo div td tr tr td td tr tbody table table
  • 使用 CSS 修复自定义字体行高

    在我正在开发的新网络应用程序上使用自定义字体时 我遇到了一个奇怪的问题 这种自定义字体 FF DIN 似乎具有自然垂直的偏离中心的行高 这迫使我放置一些顶部填充黑客来补偿按钮和输入等元素的顶部空间 示例 绿色字体 Helvetica Neu
  • 三行无表 CSS 布局,中间行填充剩余空间

    我需要的是一个包含 3 行的基于像素高度的 div 最上面一行的高度根据内容而变化 底行具有固定高度 中间行填充任何剩余空间 一切都是宽度 100 我一直在努力构建一个 div 和基于 CSS 的布局几个小时 这让我从字面上看seconds
  • 如何为带有标题图像的移动设备设置 HTML,该图像占据浏览器的整个宽度?

    我担心的是我必须为移动设备建立一个网站 概念中是将图像设置为标题 现在的问题是 不同的智能手机具有不同的显示分辨率 有例如840x560 480x320 或 800x480 我必须编写什么元标签 CSS 等才能使 每个 现代智能手机中的图像
  • Position:fixed 内的position:fixed: 哪个浏览器是正确的?

    将固定元素放置在另一个固定元素内的行为在 Chrome Safari 与 Firefox 中有所不同 这个答案很好地解释了预期的行为 https stackoverflow com a 28576596 1437016对于相对 div 内的
  • 标题的固定高度和更改宽度(HTML 表格)

    我需要确保表格标题的高度是固定的 并且宽度是根据标题单元格内容进行调整的 标题文本最多显示两行 我们如何使用样式来做到这一点 另外 我想确保表行的宽度与标题行的宽度相同 即标题行决定宽度 注 目前 交易部门负责人别名 是按行排列的 它需要分
  • 文本区域下的额外填充

    我的文本区域下面有额外的填充 但我似乎找不到它的来源 我已将单独的代码放在此页面上 http jsfiddle net wfuks http jsfiddle net wfuks 我似乎找不到它的来源 它有类 field field bac
  • CSS:仅背景不透明度,而不是内部文本[重复]

    这个问题在这里已经有答案了 我有这个注册表框 我真的很喜欢背景如何变得不透明 透明为 25 85 但后来我注意到文本和表单元素也变暗了一点 所以我想知道如何做到这一点只有边框和背景而不是盒子里面的东西 regForm z index 11
  • 使用过渡添加子项时 div 的平滑增长

    尽管使用了以下代码 但其行为并不符合我的预期transition所以可能有些事情我不明白 理想情况下 单击该按钮会将一个子项添加到id2div 并制作id1分区增长smoothly因此 function id1 button click g
  • 占位符不适用于 Internet Explorer

    我的应用程序出现了小问题 Internet Explorer 11 上不存在占位符 我尝试了下面的 CSS 示例 但没有成功 ms input placeholder IE10 11 color ccc important font wei
  • 有没有一种方法可以使页面布局在 100% 缩放下完美契合,同时又尊重更大的缩放系数?

    有多种方法可以布局网页 使其适合浏览器视口 DOMwindow 当我说 适合 时 我包括更改所用字体的大小 更改 DIV IMG 和其他渲染元素的宽度和高度 以及允许元素 流畅 移动 目标是使页面在所有显示设备 从小型手机到大桌面屏幕 上看
  • 自动溢出的容器中不会出现滚动条(IE10、Windows Phone 8)

    我有一个容器 比方说div with overflow auto 其中的元素完全按照预期滚动 但不会出现典型的触摸滚动条 我尝试设置 ms overflow style auto明确地 但没有任何改变 浏览器 IE10 设备 Windows
  • 如何使链接悬停时的背景图像模糊?

    当您用鼠标光标悬停链接时 我想让我的背景图像模糊 5 像素 有什么简单的方法可以实现这一点吗 我有点纠结于类和 id 在这里 pic background url http www metalinjection net wp content
  • LESS CSS 在媒体查询中设置变量?

    我正在开发一个专门针对 iPad 的网站 为了使我的网站能够在视网膜显示屏 iPad 和旧版本 iPad 上运行 我想在媒体查询中的 LESS CSS 中设置一个变量 例如 media all and max width 768px rat
  • Bootstrap下拉菜单文本颜色

    所以我第一次使用 Twitter 的 Bootstrap 我试图在下拉菜单折叠后更改其文本的颜色 如果有道理的话 I used 当您压缩网页以显示折叠菜单并转到下拉列表时 您会看到蓝色背景转移到下拉菜单项 但字体颜色为黑色 使其很难阅读 我

随机推荐

  • 打印表达式并对其求值的宏(使用 __STRING)

    为了学习和演示 我需要一个打印其参数的宏and对其进行评价 我怀疑这是一个非常常见的案例 甚至可能是一个常见问题解答 但我找不到实际的参考资料 我当前的代码是 define PRINT expr fprintf stdout s gt d
  • 初始化成员变量

    我已经开始采用这种模式 template
  • 如何在 iphone safari 中检测照片/视频是从相机拍摄还是从相机胶卷导入

    在我的网站上我有一个file input标签上传照片 视频 当在 mobile safari 中打开网站并单击文件输入时 会打开一个包含 3 个选项的操作表take photo or Video choose Existing and ca
  • 正则表达式匹配日月和年

    我尝试了一些 Windows 日期格式 该格式依赖于区域设置 因此 为了匹配日 月和年 我开始使用正则表达式 我有一些非常基本的经验 我在Python中使用了正则表达式 我的日期格式是dd mm yyyy hh mm ss 为了匹配日 月和
  • HttpWebRequest 在授权标头中发送无参数 URI

    我正在从 NET 连接到 Web 服务 例如 var request HttpWebRequest WebRequest Create uri request Credentials new NetworkCredential usr pw
  • GXT 2.2 - 消息框按钮常量

    这是一个关于如何检测在 MessageBox Dialog 中单击了哪个按钮的问题 仅限 GX T 2 1 或 2 2 请不要使用 GXT 3 接听 理想情况下 这就是我进行确认对话框的方式 final MessageBox box Mes
  • Android KitKat HttpURLConnection 断开 AsyncTask

    在我的应用程序中 我使用下载文件HttpURL连接 http developer android com reference java net HttpURLConnection html in an 异步任务 http developer
  • 是否可以从 Django 请求检测浏览器刷新?

    是否可以在 Django 请求中检测用户的浏览器刷新 就其本身而言 我相信没有办法仅通过查看请求对象来知道页面是否已刷新 客户可以轻松打开该页面的第二个版本 您还必须保留有关所有请求的一些状态数据 以便比较时间戳等内容 但这只是对实际发生情
  • ASP.NET 2.0 会话超时

    已经有人在本论坛中提出了有关会话超时的问题 如果有人能再次澄清这一点 我将不胜感激 我有一个 asp net 2 0 应用程序 如果用户没有执行任何活动并按下页面上的按钮 他被重定向到 sessionExpired aspx 页面 那么 1
  • Windows XP 中的 inet_pton 或 InetPton 等价物是什么?

    我需要确定特定字符串是否是有效的 IPv4 或 IPv6 地址文字 如果我理解正确的话 在 POSIX 系统上执行此操作的正确方法是使用inet pton将其转换为网络地址结构 看看是否成功 Windows Vista 及更高版本有Inet
  • 在 Qt Creator 中推广小部件

    Qt 创建者可以选择将一个小部件提升为从基本小部件派生的自定义创建的类 我想使用它来将小部件提升为当前项目中的类 Qt 创建者询问我有关类名和头文件名的信息 这些值直接转到 ui文件 然后到ui myform h 问题是该文件可能 通常是
  • 正则表达式:如何匹配没有任何字符重复 3 次的字符串?

    我正在尝试创建一个单一的模式来验证输入字符串 验证规则不允许任何字符连续重复超过 3 次 例如 Aabcddee 已验证 Aabcddde is not有效 因为 3d人物 目标是提供一个可以匹配上述示例之一的正则表达式模式 但不能同时匹配
  • WPF 调度程序的 InvokeAsync 和 BeginInvoke 有什么区别

    我注意到在 NET 4 5 中WPF 调度程序 http msdn microsoft com en us library ms615907 aspx已经获得了一组新的方法来在调度程序的线程上执行东西 称为异步调用 http msdn mi
  • 动态启动和关闭 KafkaListener 只是为了在会话开始时加载以前的消息

    我有一个让 kafkalistener 从头开始 读取消息的工作代码 offset 0 一个主题 始终运行 对于我的用例 消息传递 我需要两件事 始终捕获特定主题 分区的新消息 该消费者始终在运行 并发送到前端 websocket stom
  • 使用 Go 处理水印图像

    我想找一些关于制作水印图像的例子 用Go语言写的 我需要一个 PNG 图像作为水印图像 可以应用于其他格式 PNG GIF JPEG 等 我希望你能给我一些实际的例子 正如已经提到的 您可以使用 image draw 包为图像添加水印 这是
  • 圆圈内的文本 UILabel Swift 3

    我知道这个问题在 SO 中被问了很多次 但我在 Swift 中找不到可靠的答案 甚至一般来说也找不到一个好的答案 我知道这对于 UITextField 是可能的 但 UILabel 是我想使用的 我问是否有人遇到过 UILabel 的扩展
  • 如何更改 Android O / Oreo / api 26 应用程序语言

    我想更改应用程序的语言 并且在 API 26 之前都可以正常工作 对于 api gt 25 我把Locale setDefault Locale Category DISPLAY mynewlanglocale before setCont
  • Android Chromium WebView 崩溃

    我有一个在 Android 5 1 1 设备上运行的应用程序 该应用程序有一个 webview 48 0 2564 106 该视图保持 24 7 有时应用程序会崩溃 因为 chromium webview 有未捕获的异常 最新版本的webv
  • 如何将元素推入数组的某个值之后[重复]

    这个问题在这里已经有答案了 所以我们都知道array push工作原理如下 所以结果是 Array 0 gt red 1 gt green 2 gt blue 3 gt yellow 但现在我需要知道如何附加blue and yellow在
  • 涉及伪类first-child和dropcap的CSS选择器

    我需要格式化类似于下面的 HTML 基本上一个报价是optional 我需要将正文段落的第一个字母大写