位置:在 safari 中绝对表现不同
Position: absolute behaving differently in safari
我正在构建响应式网站 (http://dev.searsdavies.co.uk/quadrant-new/)
纵向平板电脑的布局需要一组按钮位于屏幕的死角,该布局在屏幕宽度为 768 像素时触发,并保持在低至 414 像素的位置。这些按钮 position:absolute 在所有其他内容的顶部,因为它们需要在网站的较大版本和较小版本上对齐到底部。
这些框在 Chrome 和 Firefox 中表现完美,但 safari 将它们放在页面的上方。
上面是完整的网站,这里是相关的 CSS
.row.footer {
bottom: 49%;
transform: translate(0, 50%);
position: absolute;
padding: 0 50px;
}
.row.full-width {
width: 100%;
margin-left: auto;
margin-right: auto;
max-width: 100%;
}
还有一个条件查询可以阻止布局在横向手机和类似设备上变得太浅:
@media screen and (max-height: 800px) and (max-width:768px) and (min-width:415px) {
.row.footer {
top:352px ;
bottom:auto ;
transform:none
}
}
.side-img {
height: 50vh;
min-height: 400px;
background-size: cover;
position: relative;
}
.main-content {
height: 50vh;
min-height: 400px;
}
这里有几件事。
首先,prefix your properties;您正在使用 transform
但您使用的是 而不是 前缀;它们在 Safari 中不起作用。
webkit-transform: translate(x,x);
其次,您在 @media
查询中有这个 - max-height: 800px
。这意味着 do this stuff when the browser is **less than** 800px in height
- demo。
真的你想对针对肖像平板电脑的@media
规则说什么吗(iPad 对于 example,有 768 width
by 1024 height
)?
解决您的问题:
1) 为您的 transforms
添加前缀
2) 修复您的 @media
规则
3) 删除 bottom: auto
规则
4) remove/adjust bottom: 49%
规则
我正在构建响应式网站 (http://dev.searsdavies.co.uk/quadrant-new/)
纵向平板电脑的布局需要一组按钮位于屏幕的死角,该布局在屏幕宽度为 768 像素时触发,并保持在低至 414 像素的位置。这些按钮 position:absolute 在所有其他内容的顶部,因为它们需要在网站的较大版本和较小版本上对齐到底部。
这些框在 Chrome 和 Firefox 中表现完美,但 safari 将它们放在页面的上方。
上面是完整的网站,这里是相关的 CSS
.row.footer {
bottom: 49%;
transform: translate(0, 50%);
position: absolute;
padding: 0 50px;
}
.row.full-width {
width: 100%;
margin-left: auto;
margin-right: auto;
max-width: 100%;
}
还有一个条件查询可以阻止布局在横向手机和类似设备上变得太浅:
@media screen and (max-height: 800px) and (max-width:768px) and (min-width:415px) {
.row.footer {
top:352px ;
bottom:auto ;
transform:none
}
}
.side-img {
height: 50vh;
min-height: 400px;
background-size: cover;
position: relative;
}
.main-content {
height: 50vh;
min-height: 400px;
}
这里有几件事。
首先,prefix your properties;您正在使用 transform
但您使用的是 而不是 前缀;它们在 Safari 中不起作用。
webkit-transform: translate(x,x);
其次,您在 @media
查询中有这个 - max-height: 800px
。这意味着 do this stuff when the browser is **less than** 800px in height
- demo。
真的你想对针对肖像平板电脑的@media
规则说什么吗(iPad 对于 example,有 768 width
by 1024 height
)?
解决您的问题:
1) 为您的 transforms
2) 修复您的 @media
规则
3) 删除 bottom: auto
规则
4) remove/adjust bottom: 49%
规则