html - 如何将元素的属性值用作 css 属性? CSS3

标签 html css properties attributes

HTML

<canvas id="canvas" width="800" height="600">
</canvas>

<div class="content"></div>

CSS

div.content {
  :root {
    --xPos: canvas[id="canvas"].width/2;
}   
  position: absolute;
  left: var(--xPos);
  bottom: 100px;
}

我尝试使用属性选择器来获取 canvas.id.width 值,这样我就可以将 div.content 的左边距属性设置为 Canvas 的宽度/2。 但是,属性选择器似乎用于为具有特定属性/值的元素设置样式,而不是返回属性值。

有没有办法(函数/方法)将 HTML 属性值用作 CSS 中的属性值?然后在 JS 中的表达式中使用它,例如 attrValue*2 或 attrValue/2。

谢谢。

最佳答案

这在大多数浏览器中尚未得到广泛支持,请参阅 attr()

如果它只是不同视口(viewport)中的布局问题,请尝试使用 CSS calc()和/或 Media Queries

如果它的某些行为是您想要的,请尝试使用 JavaScript。使用 javascript,您实际上可以使用您想要的任何值动态创建样式,请参阅 Set CSS styles with javascript

关于html - 如何将元素的属性值用作 css 属性? CSS3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58896607/

相关文章:

html - Chrome 自动填充会导致文本字段标签和值的文本框发生冲突

javascript - clipboard.js 悬停表格

java - 在 .war 文件下创建一个 java-properties 文件

c# - 有私有(private) setter 的属性和没有 setter 的属性有什么区别?

javascript - 按属性值(数字键)对 JavaScript 对象进行排序

javascript - 使用 javascript 验证 html 表语法的正确性

jquery - Ajax 查询不成功

javascript - 如何检测网站中是否存在鼠标?

javascript - 在 IE10 和 IE 11 中,大 div 上的 Transform 属性翻译 3d 非常慢

html - 使用 CSS 在输入 div 的焦点上更改 span div 的 CSS