使用attr()和数据标记操作css
Manipulating css using attr() and data tags
我有一个类似的div类:
<div class="website-wrapper" data-content="63%"></div>
我有更改data-content
:的javascript
$(this).children().closest('.website-wrapper').attr('data-content', (imageHeight/imageWidth*100)+"%");
我的css声明是这样的:
.website-wrapper:after { padding-top: attr(data-content); display: block; content: ''; }
由于某些原因,我无法使padding-top
正常工作。我做错什么了吗?
据我所知,attr
目前只能与content
属性一起工作,所以你只能操作它。你可以在这里看到浏览器兼容性和更多详细信息-https://developer.mozilla.org/en-US/docs/Web/CSS/attr
.website-wrapper:after {
content: attr(data-content);
}
<div class="website-wrapper" data-content="Hello"></div>
如果包含包装div,则可以使用它来设置padding-top
以保持纵横比。只需将包装div设置为position: relative;
,可以将带有background-image
的内部div设置为position: absolute; top:0; bottom: 0; left: 0; right: 0;
,以占用创建纵横比的包含div的全部空间。
HTML
<div class="outer">
<div class="website-wrapper"></div>
</div>
CSS
.outer{
position:relative;
}
.website-wrapper{
background-image: url('https://placehold.it/800x450');
background-repeat: no-repeat;
background-size:contain;
position:absolute;
top:0;
bottom:0;
left: 0;
right: 0;
border:1px solid red;
}
JS-
$(this).children().closest('.outer').css('padding-top', (imageHeight/imageWidth*100)+"%");
请看这把小提琴的演示。
相关文章:
- 根据函数参数将CSS值存储在var中,然后对其进行操作
- 使用attr()和数据标记操作css
- CSS选择器与And操作组合'&&'
- 使用javascript操作css元素,左短划线
- 使用 jQuery 在选择器之前操作 CSS
- 将自定义 CSS 类添加到由 kendoEditor 的工具栏操作触发的弹出窗口中
- 尝试使用 jQuery 操作 CSS 样式
- 如何在角度中使用 css 类进行操作
- 如果我想在没有jQuery的情况下操作HTML / CSS,我应该应用什么方法
- 使用 JavaScript 的基本 CSS 操作
- CSS 样式操作:Javascript 不起作用
- jquery 如果 CSS 高度> Xpx 执行此操作
- 使用 jQuery.find 选择添加的图像进行 css 操作不起作用
- 动态样式-使用JavaScript操作CSS
- 纯Javascript-用于定时操作的自定义js-css选择器
- Windows 8网格模板JS应用程序,CSS操作不会显示在groupedItems视图中的所有选定项目上
- jQuery:在.css执行后,我如何执行操作
- 使用PHP操作css类是不是一种糟糕的做法
- 为什么我需要检查风格.''首先是在DOM中操作CSS
- 滚动速度操作css jquery