【问题标题】:Twitter "Follow" button causing horizontal scroll bar in BootstrapTwitter“关注”按钮导致 Bootstrap 中的水平滚动条
【发布时间】:2014-10-15 10:12:55
【问题描述】:

我的单页应用程序与 Bootstrap 在多种设备上运行良好,但是尽管 Twitter 的“关注”按钮具有响应性,但它​​会在页面上添加一个水平滚动条 - 这会影响我的图像轮播的使用。

我有视口meta<meta name="viewport" content="width=device-width, initial-scale=1.0;">

这是导致问题的标记:

<div class="row">
    <div class="col-lg-12">
        <a href="https://twitter.com/crmpicco" class="twitter-follow-button" data-show-count="true"
           data-size="large">Follow @crmpicco</a>
        <script>!function (d, s, id) {
                var js, fjs = d.getElementsByTagName(s)[0], p = /^http:/.test(d.location) ? 'http' : 'https';
                if (!d.getElementById(id)) {
                    js = d.createElement(s);
                    js.id = id;
                    js.src = p + '://platform.twitter.com/widgets.js';
                    fjs.parentNode.insertBefore(js, fjs);
                }
            }(document, 'script', 'twitter-wjs');</script>
    </div>
</div>

rowcol-lg-12 类都是 Twitter Bootstrap 的标准类。但只有这段代码在 iPhone 上的 Safari 中引入了水平滚动条。

【问题讨论】:

  • 检查stackoverflow.com/q/7551752/707636。希望它会有所帮助......
  • @Bongs 谢谢,该链接上的overflow: hidden; 肯定有帮助。在此之间以及更改 Twitter 关注按钮设置以使用 data-size="medium" 它现在工作得很好。见dev.twitter.com/docs/follow-button
  • 酷,您可以在代码中发布修复作为答案:)
  • @Bongs 当然,请在下面查看我的答案。

标签: html css twitter-bootstrap mobile responsive-design


【解决方案1】:

我通过调整容器的 CSS 来解决这个问题:

.twitter_container {
    padding-top    : 1.5em;
    padding-bottom : 1.5em;
    text-align     : center;
    margin         : 0 auto;
}

并使用data 属性更改 Twitter 按钮的大小:

<div class="twitter_container">
    <a href="https://twitter.com/crmpicco" class="twitter-follow-button" data-show-count="true"
       data-size="medium">Follow @crmpicco</a>
    <script>!function (d, s, id) {
            var js, fjs = d.getElementsByTagName(s)[0], p = /^http:/.test(d.location) ? 'http' : 'https';
            if (!d.getElementById(id)) {
                js = d.createElement(s);
                js.id = id;
                js.src = p + '://platform.twitter.com/widgets.js';
                fjs.parentNode.insertBefore(js, fjs);
            }
        }(document, 'script', 'twitter-wjs');</script>
</div>

你可以看到结果here

【讨论】:

    【解决方案2】:

    这很可能是因为您的父级是 row 类。

    row只有一个主要样式,就是左右两边都有-15px的边距,像这样:

    .row {
        margin-right: -15px;
        margin-left: -15px;
    }
    

    只需删除类为 row 的父 div 就可以了:

    更新代码:

    <div class="col-lg-12">
        <a href="https://twitter.com/crmpicco" class="twitter-follow-button" data-show-count="true" data-size="large">Follow @crmpicco</a>
        <script>!function (d, s, id) {
                var js, fjs = d.getElementsByTagName(s)[0], p = /^http:/.test(d.location) ? 'http' : 'https';
                if (!d.getElementById(id)) {
                    js = d.createElement(s);
                    js.id = id;
                    js.src = p + '://platform.twitter.com/widgets.js';
                    fjs.parentNode.insertBefore(js, fjs);
                }
            }(document, 'script', 'twitter-wjs');</script>
    </div>
    

    EXAMPLE WITH ROW

    EXAMPLE WITHOUT ROW

    【讨论】:

    • 这些链接似乎已失效。
    • 在 iOS(iPhone 5)上测试时,这似乎对我不起作用。无论如何,我设法让它工作(见我上面的评论)。感谢您的评论。
    猜你喜欢
    • 2012-04-06
    • 2017-11-25
    • 2011-11-24
    • 1970-01-01
    • 2012-11-14
    • 1970-01-01
    • 2018-06-20
    • 2010-11-18
    • 1970-01-01
    相关资源
    最近更新 更多