html - 破解 : Modifying :before in inline css

标签 html css

我在 ASP.NET (razor) 页面中有一个“动态样式”(不要问为什么,就是这样)

<div class="myClass" style="background-image: url('@myUrl');">

一切都像一个魅力。但现在我需要将 url 放在“.myClass:before”中(通过 myClass:before{height:100px; position: absolute; background-image:url(' @myUrl'); z-index:-1;}).

这个修改只能在 CSS 中完成,但是 @myUrl 是一个动态值...我们还没有动态 CSS...作为快速修复该怎么做?

最佳答案

:before伪元素的background-image使用inherit关键字,这样它会自动继承为定义的背景>div.

同时为 div 设置一个 background-size: 0 0 这样图像就不会被显示两次。

div {
   background-size: 0 0;
}

div:before {
  content: "";
  display: block;
  background-image: inherit; 
  background-size: <your size here>;
  position: absolute;
  ...
}

示例:http://codepen.io/anon/pen/PqbKde

关于html - 破解 : Modifying :before in inline css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29971587/

相关文章:

javascript - 如何替换 html 内容中的两个类属性?

PHP readdir 点不断显示

html - CSS3 圆 Angular 图像在 Safari/Chrome 中不起作用?

javascript - 如何在 Mantine 中设置标题组件的样式?

html - CSS 动画并不总是在 iOS 8 Safari 中启动

javascript - 如何显示/隐藏div点击图片

CSS动画、状态变化完成动画

html - 如何将 css 应用于类和 ID?

javascript - 如何在 Angular Material 的$mdToast中一起使用自定义主题和模板

css - Bootstrap 自定义 36 列网格