【发布时间】:2013-01-29 14:30:34
【问题描述】:
我知道这在其他线程中已被问到,但这些答案不适合我的情况。如果您从此处嵌入 twitter 关注按钮:
https://twitter.com/about/resources/buttons
<a href="https://twitter.com/share" class="twitter-share-button">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
JS 用 iframe 替换链接:
<iframe scrolling="no" frameborder="0" allowtransparency="true" src="http://platform.twitter.com/widgets/tweet_button.1360366574.html#_=1360791644346&count=horizontal&id=twitter-widget-0&lang=en&original_referer=http%3A%2F%2Fwww.foo.com%2Fsearch%2Fcats&size=m&text=Search%20Results%20for%20%22cats%22%20on%20Foo&url=http%3A%2F%2Fwww.foo.com%2Fsearch%2Fcats" class="twitter-share-button twitter-count-horizontal" style="width: 109px; height: 20px;" title="Twitter Tweet Button" data-twttr-rendered="true"></iframe>
如您所见,宽度设置为内联样式。我知道我可以用类似的东西来覆盖它:
.twitter-share-button { width: 80px !important; }
例如,但我不想这样做,因为如果共享计数在特定内容页面上增加到非常大的数字会怎样。然后共享计数将被最小宽度所掩盖。
有没有办法告诉 twitter 根据内部的共享计数来调整返回 iframe 的大小,使其不大于所需的最小宽度?
我知道 Facebook 通过数据属性data-width 接受所需的宽度,我相信这可以设置为自动以获得我在上面要求的行为类型。 Twitter 是否为他们的分享按钮提供了类似的功能?
【问题讨论】:
-
链接在 iframe 中,你不能在你的 CSS 中做任何事情来改变它。您必须查看 twitter 是否允许您使用一些 api 更改样式。设置 iframe 的宽度会改变按钮大小吗?
-
我的 Twitter 关注按钮也有同样的问题。 JS 代码生成的 HTML 内嵌宽度大于实际按钮。这使得精确定位变得不可能。用
!important覆盖宽度不是一个可持续的解决方案,因为关注者数量可能会增加,导致按钮变大并因此被“砍掉”。有人找到解决此问题的方法吗?
标签: javascript html css twitter