reactjs - 使用图像覆盖(card-img-overlay)时,无法再在 chrome 开发工具中选择子元素
问题描述
使用引导程序的card-img-overlay
类时,我无法再使用 chrome devtools 检查子元素。例如,在下面的屏幕截图中,我无法再选择任何标题。
我是否以错误的方式使用课程?
import React from "react"
import Layout from "../components/layout"
import { graphql } from "gatsby"
import SEO from "../components/seo"
import Img from "gatsby-image"
import Card from "react-bootstrap/Card"
import TimeToRead from "../components/time-to-read"
import Tags from "../components/tags"
const SinglePost = ({ data, pageContext }) => {
const { frontmatter } = data.markdownRemark
const { timeToRead } = data.markdownRemark
return (
<Layout pageTitle={frontmatter.title}>
<SEO title={frontmatter.title} />
<Card>
<Img
className="card-image-top"
style={{ maxHeight: "150px" }}
fluid={frontmatter.image.childImageSharp.fluid}
/>
<div className="card-img-overlay">
<Tags tags={frontmatter.tags} />
</div>
<Card.Body>
<Card.Title>{frontmatter.title}</Card.Title>
<Card.Subtitle>
<div className="d-flex justify-content-between">
<span className="text-info">{frontmatter.date}</span>
<TimeToRead minutes={timeToRead} />
</div>
<hr />
</Card.Subtitle>
<Card.Text
dangerouslySetInnerHTML={{ __html: data.markdownRemark.html }}
></Card.Text>
</Card.Body>
</Card>
</Layout>
)
}
解决方案
看起来,您无法访问元素(并且您的用户无法选择文本),因为它card-img-overlay
正在覆盖它。我不得不说这是overlay
s 应该如何工作的。但是如果你无论如何都需要阻止它,你可以使用pointer-events: none
.
请注意,当您执行此操作时,它也会阻止其所有子级的事件(至少在 Chrome 中),因此您需要为子级启用它。
.parent {
position: relative;
}
.overlay {
background: rgba(0, 0, 0, 0.2);
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
}
.overlay * {
pointer-events: all;
}
<div class="parent">
<div class="overlay">
<button>Click</button>
</div>
<p>text text</p>
<p>text text</p>
<p>text text</p>
<p>text text</p>
<p>text text</p>
<p>text text</p>
<p>text text</p>
<p>text text</p>
<p>text text</p>
</div>
推荐阅读
- javascript - 是否有任何 DOM 事件侦听器来检测窗口高度的变化?
- node.js - 如何使用节点 js 客户端库使用刷新令牌谷歌 oAuth2 获取新的访问令牌
- c++ - 错误:此处不允许使用数据初始化程序?
- docker - 如何在 Docker Image 和 Docker Compose 中设置文件和文件夹权限?
- telegram - sendMediaGroup 电报机器人
- python - 我的变量未缩进时显示为红色
- graphics - 如何根据它在three.js中的局部轴在3D空间中绘制一条垂直于另一条线(3D对象)的线?
- apple-push-notifications - 我的 Apple 推送通知因 Java Apns 停止工作而停止
- python - 如何修复 PyCharm 中的 Python 多处理映射内存错误
- apache - RewriteRule 表现奇怪,将查询添加到某些 url 而不是其他一些