【问题标题】:Width percentage value not being applied to element宽度百分比值未应用于元素
【发布时间】:2022-02-08 07:00:09
【问题描述】:

我在 HTML 中使用 Sass 设置元素的样式,当使用百分比设置元素的宽度时,它没有被应用。

这可能是因为我使用“content-max”设置了父元素的宽度和高度吗?

这是我正在使用的代码的基本版本,其想法是让父级的大小受到图像大小的限制(有效),并且文本覆盖是宽度的一半和整个高度容器元素(因此我分别使用 50% 和 100%)。

<div class="container">
      <img src="image.png" alt="A square image">
      <div class="text-overlay">
                
      </div>
</div>

单独编译的Sass如下:

.container {
        
     display: block;
     position: relative;
     width: max-content;
     height: max-content;
        
     img {
          display: block;
          position: absolute;
          z-index: 0;
     }
        
     .text-overlay {
        
           display: flex;
           position: absolute;
           width: 50%;
           height: 100%;
           z-index: 1;
     }
}

HTML 和 SCSS 都写在不同的文件中,并在必要时正确编译。

【问题讨论】:

  • 你知道你不能在你的 HTML 中直接使用 SASS 吗?这需要先编译。如果你有有效的 CSS(这不是)就没有问题。
  • 至少,直到CSS Nesting 变成implemented in any browser...
  • 对不起,我不清楚这个@DirkJ.Faber,& Heretic-Monkey,在我的代码中并不清楚,因为我只是将其设置为示例,我正在编译与HTML,我现在将编辑它
  • @DirkJ.Faber 实际上事实证明这个解决方案行不通,因为 CSS(在这种情况下是 SASS)需要父元素为子元素有一个预先指定的宽度值,一个相对的 % 大小正常工作

标签: html css sass


【解决方案1】:

如 cmets 中所述,您可以直接在 HTML 标记中编写 Sass。必须先编译。

在您的示例中,您使用的是嵌套,这不是有效的 CSS3 代码,因此要解决此问题,您必须编写像下面的 sn-p 这样的纯 CSS 在应用之前编译您的 Sass将其添加到您的 HTML 中。


关于您的实际问题,当您将 widthheight 硬核到 .container 元素时,您尝试归档的定位正在发挥作用。


.container {
  position: relative;
  width: 200px;
  height: 200px;
}

.container img {
  position: absolute;
  z-index: 0;
}

.container .text-overlay {
  position: absolute;
  z-index: 1;
  width: 50%;
  height: 100%;
  background-color: green;
  color: red;
  opacity: 50%;
}
<div class="container">
  <img src="https://i.picsum.photos/id/793/200/200.jpg?hmac=3DeE830wjdSShKq_h_iFtV_jAxf43FO4xx-sivW0Q_Y">
  <div class="text-overlay">
    Overlay
  </div>
</div>

【讨论】:

  • 对不起,我没有正确编写我的示例,Sass 写在其相应的文件中并相应地进行了编译,至于我的问题的答案,我很高兴看到硬编码版本作为应该,但这是我试图避免的,使用当前设置是否不可能?
猜你喜欢
  • 1970-01-01
  • 2012-04-22
  • 2015-11-14
  • 1970-01-01
  • 2016-10-24
  • 2018-10-15
  • 2019-04-28
  • 1970-01-01
  • 2013-04-01
相关资源
最近更新 更多