我正在使用Twitter oembed api,现在我的页面上有以下代码:
<div class='row'>
<iframe id="twitter-widget-0" scrolling="no" frameborder="0" allowtransparency="true" class="twitter-tweet twitter-tweet-rendered" style="display: block; max-width: 99%; min-width: 220px; padding: 0px; border-top-left-radius: 5px; border-top-right-radius: 5px; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; margin: 10px 0px; border-color: rgb(238, 238, 238) rgb(221, 221, 221) rgb(187, 187, 187); border-width: 1px; border-style: solid; box-shadow: rgba(0, 0, 0, 0.14902) 0px 1px 3px; position: static; visibility: visible; width: 500px;" title="Embedded Tweet" height="186"></iframe>
<script async="" src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
</div>
基本上我尝试做的只是将.row中的iframe水平居中,但只使用CSS,因为我无法控制任何内嵌iframe的样式。 margin:0 auto;
似乎无法运作。
答案 0 :(得分:4)
我将假设您不能为我的答案更改此iFrame的内联样式。
问题是您的内联样式会覆盖您的margin: 0 auto;
类。解决此问题的方法是将!important
投放到您的margin: 0 auto;
类,如此...
.row iframe{
margin:0 auto !important;
display:block;
}
如果您可以修改iFrame的内嵌样式,那么您可以移除margin:10px 0px;
或编辑您想要的margin: 10px auto;
答案 1 :(得分:1)
就我能解决而言,代码无法正常工作的唯一原因是因为你有
frameborder="0"
style="display: block
在内联样式中。
如果您无法更改内联样式,请在0之后添加!important,如下所示:
margin:0 auto !important;