当前位置: 首页 > 知识库问答 >
问题:

CSS提取多个父级之外的元素

陈项禹
2023-03-14

在几个父级中有一个红圈元素(elementToExtract),其结构应如下所示:

https://jsfidle.net/dwxmb87l/1/

null

#main {
  top: 17px;
  left: 32px;
  position: absolute;
  overflow: hidden;
}
#yellow {
  display: inline-block;
  transform: translate(0px, 0px) translateZ(0px);
  position: relative;
  width: 240px;  
  background: yellow;
}
#scroller {
}
#someDiv {  
}
#lightblue {
  position: relative;
  width: 220px;
  height: 200px;   
  margin: 10px;
  background: lightblue;
  overflow: hidden;    
}
#elementToExtract {
  width: 30px;
  height: 30px;
  border-radius: 30px;
  position: fixed;
  top: 0;
  right: -15px;
  background: red;
}
html lang-html prettyprint-override"><div id="main">
  <div id="yellow">
    <div id="scroller">   
      <div id="someDiv">
        <div id="lightblue">    
          <div id="elementToExtract"></div>
        </div>
      </div>
    </div>  
  </div>
</div>

null

我如何提取它以显示在所有元素上(而不是由于溢出而被切成两半),而不:

  1. 更改DOM结构(HTML必须保持不变)
  2. 删除黄色元素的转换CSS声明
  3. 尽可能少地更改其他元素的CSS(如果可能,根本不更改!)

所以基本上,如果可能的话,只能通过修改ElementToExtract的CSS。如果绝对不可撤销,则对其他元素进行一些小的修改,但要注意条件2

共有1个答案

吴飞语
2023-03-14

更新:仅更改父级宽度

我试着尽可能少地改变。

null

#main {
  top: 17px;
  left: 32px;
  position: absolute;
  overflow: hidden;
  width: 300px; /* added this line only */
}

#yellow {
  display: inline-block;
  transform: translate(0px, 0px) translateZ(0px);
  position: relative;
  width: 240px;
  background: yellow;
}

#scroller {}

#someDiv {}

#lightblue {
  position: relative;
  width: 220px;
  height: 200px;
  margin: 10px;
  background: lightblue;
  overflow: hidden;
}

#elementToExtract {
  width: 30px;
  height: 30px;
  border-radius: 30px;
  position: fixed;
  top: 0;
  right: -15px;
  background: red;
}
<div id="main">
  <div id="yellow">
    <div id="scroller">
      <div id="someDiv">
        <div id="lightblue">
          <div id="elementToExtract"></div>
        </div>
      </div>
    </div>
  </div>
</div>
 类似资料:
  • 本文向大家介绍如何取消从父级元素继承下来的CSS样式呢?相关面试题,主要包含被问及如何取消从父级元素继承下来的CSS样式呢?时的应答技巧和注意事项,需要的朋友参考一下 如果是恢复单个属性样式,例如,可以使用 如果是将所有属性样式恢复为默认状态,可以使用

  • 我完全被这件事难住了。我在页面上有三个元素,其中一个类是。 我可以在JS控制台中运行并返回正确的家长。但是当我迭代它们时,每次都会得到一个空对象。

  • JS新人来了!我正在尝试使用Fetch从jsonplaceholder创建一个带有假todo的todo列表。我想要取五个不同的ToDos并将它们放入我的列表中的不同列表项中。但不知怎的,五个托多人中只有一个出现了。 HTML: JS:

  • 本文向大家介绍JavaScript和jquery获取父级元素、子级元素、兄弟元素的方法,包括了JavaScript和jquery获取父级元素、子级元素、兄弟元素的方法的使用技巧和注意事项,需要的朋友参考一下 最近工作中总遇到取各种父啊子啊兄弟姐妹啊,每次都得查,这次整理个全乎的~ 先给大家上干货: 【js的获取方式】 【jQuery的获取方式】

  • 问题内容: 假设我有几列,我想旋转其中的一些值: 使用此CSS: 问题答案: 假设您希望旋转90度,即使对于非文本元素也可以旋转-但是像CSS中许多有趣的事情一样,它需要一些技巧。根据CSS 2规范,我的解决方案还会从技术上调用未定义的行为-因此,尽管我已经测试并确认它可以在Chrome,Firefox,Safari和Edge中使用,但我不能保证将来不会损坏浏览器版本。 Short answer

  • 本文向大家介绍使用CSS为其父元素的第一个子元素的每个 元素设置样式,包括了使用CSS为其父元素的第一个子元素的每个 元素设置样式的使用技巧和注意事项,需要的朋友参考一下 要设置作为其父级第一个子级的每个<p>元素的样式,请使用CSS:first-child选择器。 示例 您可以尝试运行以下代码来实现:first-child选择器-