以下是该网站的链接: http://daisy.camorada.com/
当您点击“文章”按钮时,它会弹出带有模态的Twitter Bootstrap,而在iPhone上它无法正常显示,如何让模式在iPhone上正常显示?
我不确定这是JavaScript,Bootstrap还是CSS问题。
先谢谢你的帮助,
编辑: “正确显示”的含义如下: 我想让iphone显示它在计算机上出现的引导模式。 以下是模式在计算机浏览器上的显示方式的屏幕截图:
以下是它在iphone上的外观,我希望iphone能像上面的例子一样显示它:
答案 0 :(得分:1)
我在Twitter Bootstrap v2.0.4(bootstrap-modal.js v2.0.4)中遇到了同样的问题。要解决此问题需要解决两个问题。
<强> CSS 强>
@media only screen and (max-width: 479px) {
.modal {
position: absolute;
top: 16%; // ADJUSTMENT MADE HERE
left: 50%;
z-index: 1050;
width: 300px;
margin: -240px 0 0 -150px;
overflow: auto;
background-color: #ffffff;
border: 1px solid #999;
border: 1px solid rgba(0, 0, 0, 0.3);
*border: 1px solid #999;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
-webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
-moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
-webkit-background-clip: padding-box;
-moz-background-clip: padding-box;
background-clip: padding-box;
}
}
JS
在bootstrap.js中调整模态show:function()
show: function () {
var that = this
, e = $.Event('show')
that.oldWindowPosition = $(window).scrollTop(); //
$('body, html').scrollTop(0); // ADD THIS LINE
this.$element.trigger(e)
if (this.isShown || e.isDefaultPrevented()) return
$('body').addClass('modal-open')
this.isShown = true
escape.call(this)
backdrop.call(this, function () {
var transition = $.support.transition && that.$element.hasClass('fade')
if (!that.$element.parent().length) {
that.$element.appendTo(document.body) //don't move modals dom position
}
that.$element
.show()
if (transition) {
that.$element[0].offsetWidth // force reflow
}
that.$element.addClass('in')
transition ?
that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) :
that.$element.trigger('shown')
})
}
同样,这是我对Twitter Bootstrap 2.0.4的修复