CSS:将父级更改为子级的焦点

2024-03-26

假设你有类似的东西:

<div class="parent">
    <input class="childInput" type="text" />
    <div class="sibling"></div>
</div>

我想在孩子获得焦点时更改父母/兄弟姐妹的外观。有没有 CSS 技巧可以做这样的事情?

Edit:

我的问题的原因如下:

我正在创建一个需要可编辑文本字段的 Angular 应用程序。在单击之前它应该看起来像一个标签,此时它应该看起来像一个普通的文本输入。我基于 :focus 设置文本字段的样式以实现此效果,但文本被文本输入的边界截断。我还使用 ng-show、ng-hide、ng-blur、ng-keypress 和 ng-click 根据模糊、按键和点击在标签和文本输入之间切换。除了一件事之外,这工作得很好:在标签的 ng-click="setEdit(this, $event)" 将 ng-show 和 ng-hide 使用的编辑布尔值更改为 true 后,它使用 jQuery 调用 .select()文本输入。然而,直到 ng-click 完成之后,所有内容才被 $digest'd,因此文本输入再次失去焦点。由于文本输入实际上从未获得焦点,因此使用 ng-blur 恢复显示标签是有问题的:用户必须单击文本输入,然后再次单击它才能恢复显示标签。

Edit:

这是这个问题的一个例子:http://plnkr.co/edit/synSIP?p=preview http://plnkr.co/edit/synSIP?p=preview


您现在可以在纯 CSS 中执行此操作,因此不需要 JavaScript ????

新的 CSS 伪类:focus-within对于这样的情况会有所帮助,并且当人们使用选项卡进行导航时,将有助于提高可访问性,这在使用屏幕阅读器时很常见。

.parent:focus-within {
  border: 1px solid #000;
}

:focus-within 伪类匹配元素本身 匹配 :focus 或具有匹配 :focus 的后代。


我可以用吗...

您可以通过访问查看哪些浏览器支持此功能http://caniuse.com/#search=focus-within http://caniuse.com/#search=focus-within


Demo

fieldset {
  padding: 0 24px 24px !important;
}

fieldset legend {
  opacity: 0;
  padding: 0 8px;
  width: auto;
}

fieldset:focus-within {
  border: 1px solid #000;
}

fieldset:focus-within legend {
  opacity: 1;
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet" />

<div class="container">
  <form>
    <fieldset>
      <legend>Parent Element</legend>
      <div class="form-group">
        <label for="name">Name:</label>
        <input class="form-control" id="name" placeholder="Enter name">
      </div>
      <div class="form-group">
        <label for="email">Email:</label>
        <input type="email" class="form-control" id="email" placeholder="Enter email">
      </div>
    </fieldset>
  </form>
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSS:将父级更改为子级的焦点 的相关文章

  • 通过单击字段启用非活动字段

    是否可以有一组非活动字段 如果单击其中一个字段 则某些字段将变为必填字段并运行某些代码段 举例来说 您显示了三个字段
  • 在 AngularJS 中覆盖运行时的依赖关系

    我有一个服务叫 doggedHttp 它公开了与 http 现在我想创建一个 doggedResource服务是有角度的 resource服务之上 doggedHttp代替 http 换句话说我想注入 doggedHttp as the h
  • Backbone-relational 无法实例化两个 RelationalModel 对象

    我正在尝试实现 BackboneRelational 并不断获得 无法实例化多个 Backbone RelationalModel 每种类型都有相同的 ID class App Models User extends Backbone Re
  • 如何获取调用函数的“this”值?

    如果我有一个这样的函数 function foo this console log this function bar bar prototype func function foo this var test new bar test f
  • 如何最好地实现多个重叠元素的翻转和推出事件?

    Problem 我正在开发一个网站 其中有一个 拨号盘 显示代表伞式公司不同部门的多个选项卡 目前我已经用 HTML CSS 准备好了一切 每个选项卡的定位 内圈处于较高位置z index因为选项卡在滚动时需要向外动画 我可以实现这部分 选
  • 在 NPM 上捆绑并发布客户端 Web 代码

    我制作了一个 JavaScript 文件 假设它的内容是这样的 let myCoolAlert str gt alert str in a different js file SO doesn t allow you to cross fi
  • 将服务连接到现有的流星帐户

    我正在设置一个流星应用程序 其中涉及使用用户名和密码进行注册 然后希望将该帐户与 Facebook 和 Twitter 连接起来 我只需使用帐户包即可轻松启动并运行第一部分 但是当我有一个登录用户调用 Meteor loginWithFac
  • 获取键盘事件中的鼠标位置

    我试图在用户按住 Shift 键时出现选择轮 滚轮应以鼠标位置为中心 然而当我测试这个时 pageX and clientX两者在事件对象上都未定义 是否可以通过键盘事件获取鼠标坐标 不 只需跟踪mousemove事件并持续保存当前位置 以
  • 如何在流程图中间隔刻度线?

    我下面有一个流程图 您将看到标签被压缩 我想使刻度之间的宽度确保显示所有标签 标记如下 div div class graph info a href span span a a href class active span span a
  • 设计 Javascript 前端 <-> C++ 后端通信

    在我最近的将来 我将不得不制作一个具有 C 后端和 Web 前端的系统 要求 目前 我对此了解不多 我认为前端将触发数据传输 而不是后端 所以不需要类似 Comet 的东西 由于在该领域的经验可能很少 我非常感谢您对我所做的设计决策的评论
  • JavaScript - 这个这个

    String prototype foo String prototype foo bar function How can you reference the grandparent string console log this par
  • 为什么这个 CSS nowrap 不起作用?

    我试图阻止 bar top container div 包裹它的内容 无论页面有多宽 即两个选择应该始终出现在同一行 但是当页面宽度太小而无法容纳它们时 这不起作用一方面 我该如何解决这个问题 Styles bar top containe
  • 显示带有 jQ​​uery-ui 自动完成功能的微调器

    我一直在到处搜索 但没有看到有人这样做 是否有可能拥有某种带有 jQ uery UI 自动完成功能的旋转器 加载器 1 8 获取数据时 我的解决方案是使用 ui autocomplete loading CSS 类 该类在 ajax GET
  • AngularUI Router:在调用子状态时将 url 参数传递给“抽象”状态

    我想在调用子状态时访问抽象状态内的 url 参数 stateParam 我很想知道如何做到这一点 代码在笨蛋也 http plnkr co edit L0TXx3DCBOJmh4XydXbV p preview stateProvider
  • ERR_IMPORT_ASSERTION_TYPE_MISSING 用于导入 json 文件

    这段代码运行良好 我不知道是因为我升级到 Node 17 还是什么原因 但现在我明白了 TypeError ERR IMPORT ASSERTION TYPE MISSING Module file Users xxxxx code pro
  • 如何在 svelte 中制作搜索过滤器

    我有两个组件在组件树中距离很远 我对如何在两者之间进行通信存有疑问 我有搜索组件 listItems 和商店 商店 svelte
  • 如何制作具有移动外观的 emberjs 应用程序(如 jquery mobile 中的应用程序)?

    我有一个使用 Emberjs 的简单移动 Web 应用程序项目 对于外观和感觉 我想要类似于 JQuery Mobile 的东西 有没有办法混合使用 Emberjs 和 jquery mobile 如果是这样 怎么办 我查看了 Travis
  • 如何在 Angularjs 中正确将 JSON 响应解析为 ng-repeat

    我希望能够使用ng repeat为了解析我在前端的响应 我在解析具有多个项目与单个项目的响应时遇到问题ng repeat list 我能够解析 但我必须创建 2 个不同的列表ng repeat在前端进行配置并添加一些丑陋的逻辑 以便在数组长
  • 如何逐步绘制矢量路径? (拉斐尔.js)

    如何逐步动画化矢量路径 就像它被绘制一样 换句话说 慢慢地逐像素地显示路径 我在用着Rapha l js but如果您的答案不是特定于库的 例如可能有一些通用的编程模式可以完成此类事情 我对矢量动画相当陌生 欢迎 使用直线路径很容易做到 就
  • 将元素添加到 D3 圆包节点

    我正在尝试制作一个可缩放的圆形包装图 我希望每个子圆圈包含一个较小的图表 该图表始终具有相同的结构 即 4 列 只有条形的高度会改变 我尝试添加一个简单的rect到目前为止我的图表 但矩形没有添加到圆圈中并且是静态的 JS var marg

随机推荐

  • 如何将 MIME 类型添加到 .htaccess?

    我想将以下 MIME 类型添加到由以下人员运行的网站Apache
  • 在 pandas 中添加时间戳偏移量

    我有一个数据框 df 当我运行 print df index 时 我得到 DatetimeIndex 2011 08 05 00 00 00 04 00 2011 08 05 01 00 00 04 00 2011 08 05 02 00
  • Rake on Rails 3 问题

    我将 Rails 2 3 应用程序移至 Rails 3 该应用程序实际上运行得很好 但我对 rake 任务有问题 看起来环境文件中的配置未正确初始化 我得到的错误是 rake aborted undefined method cache c
  • 从源代码构建 Android 时如何查看实际的 gcc 选项?

    我正在尝试调试我的 android 源构建环境 Android mk 文件 默认情况下 make 系统在构建过程中不显示 gcc 命令行 实现这一点的最佳方法是什么 对于提出请求的人来说可能为时已晚 但对于其他提出请求的人来说可能已经太晚了
  • 如何使用返回键关闭 UITextView 的键盘?

    想要改进这篇文章吗 提供此问题的详细答案 包括引用和解释为什么你的答案是正确的 不够详细的答案可能会被编辑或删除 In IB s library the introduction tells us that when the return
  • sqrt(1.0 - pow(1.0,2)) 返回 -nan [重复]

    这个问题在这里已经有答案了 我发现了一个有趣的浮点问题 我必须在代码中计算几个平方根 表达式如下 sqrt 1 0 pow pos 2 其中 pos 循环从 1 0 到 1 0 1 0 对于 pow 来说很好 但是当 pos 1 0 时 我
  • 为什么递归 grep 显示“没有这样的文件或目录”错误?

    我正在 grep 本地 svn 目录 当我跑步时grep r pattern 我收到一些错误 例如 grep Data test 没有这样的文件或目录 谁问的grep寻找不存在的文件 gt grep version grep GNU gre
  • Spark MLlib LDA,如何推断新的未见过文档的主题分布?

    我对使用 Spark MLlib 应用 LDA 主题建模感兴趣 我已经检查了代码和解释here http spark apache org docs latest mllib clustering html latent dirichlet
  • 内部模板类型 std::vector> 的函数模板重载或专门化

    如何实现内部模板类型的函数模板重载std vector
  • Typescript 中的“通用类型‘Feature’需要 1 个类型参数”是什么意思?

    我尝试在打字稿中使用 GeoJson 但编译器会抛出这两个变量的错误 Generic type Feature
  • C# 通用继承解决方法

    Example 我想要几个从 TextBox 或 RichTextBox 派生的专用文本框 它们都从 TextBoxBase 派生 class CommonFeatures
  • 删除标签并仅在条形图的工具提示中显示值

    我在用ChartJS http www chartjs org docs 用于创建图表的库 在工具提示中 我显示了我创建的数据集中的数据值 它适用于图表类型为doughnut 否则它不起作用 以防万一或bar or 水平条 charts 无
  • 从 CGImage 获取 RGB 像素数据

    我正在尝试从 CGImage 访问像素数据 我希望能够以整数形式访问 RGB 值 我想我已经接近这个代码了 UIImage theImage UIImage imageNamed rgb png CGImageRef cgImageRef
  • 多维缩放后如何获取特征值?

    我有兴趣查看执行多维缩放后的特征值 什么函数可以做到这一点 我看了看文档 http scikit learn org stable modules generated sklearn manifold MDS html sklearn ma
  • Qt Webengine 渲染到打印

    有没有办法使用 QtWebEngine 将 HTML SVG 渲染到打印机 PDF 和光栅图像 我们想从WebKit切换到WebEngine 因此使用WebKit的QWebView不再是一个选择 宣布 Qt Web Engine 将支持打印
  • 如何解决具有 3 个变量的背包问题?

    解决与背包问题相关的问题的最佳方法是什么 该问题有 3 个变量 例如 价值 重量和体积 尽可能的最大值 有最大重量和体积限制 我尝试过根据其值 重量 体积 使用定义的索引 但我相信这不会给我最好的解决方案 所以我进行了搜索 有些人建议使用动
  • Haskell 类似实例?

    我是 Haskell 的新手 所以我的问题可能很愚蠢 我想要一个功能 show2 Show a gt a gt String 这会返回show a对于任何a but a如果 a 是它本身String 我该如何实施 附 如果这个函数已经在某个
  • 用汇编语言更改 CS:IP

    怎么可以强行改变CS and IP都是汇编语言 ORG指令可用于更改的数量IP 但是你如何改变CS 基本上我想使用汇编来实现多线程 许多论坛 包括堆栈溢出中的一个问题都说这是不可能的 但是即使 C 是由汇编代码制成的 它如何具有多线程选项呢
  • Spring中列表到页面的转换

    我正在尝试在春季将列表转换为页面 我已经使用它进行了转换 new PageImpl 用户 可分页 users size 但现在我在排序和分页本身方面遇到了问题 当我尝试传递大小和页面时 分页不起作用 这是我正在使用的代码 我的控制器 pub
  • CSS:将父级更改为子级的焦点

    假设你有类似的东西 div class parent div