修复了 Div 与 padding 和 text-align 不同的交互
Fixed Div interacts with padding and text-align differently
我有一个 parent div
和一个 child。 parent是置顶,child是mainPicWrapper
CSS:
.mainPicWrapper {
border:1px solid black;
padding-left:25px;
}
#sticky-div.sticky {
position: fixed;
top: 0;
border:0px;
}
我有 jQuery 删除页面加载时的 .sticky class
。
然后,当它向下滚动超过 div
的顶部时,它会将 .sticky
class 添加回来,因此 div
停留在 div
的顶部页面向下滚动时,效果很好。
但是,如果我删除 padding-left:25px;
并将其替换为 text-align:center;
,则它不起作用。使用 text-align:center;
,当我滚动时,div
突然向左跳回到零。
为什么 padding-left
会应用到置顶贴 div
,而 text-align:center;
不会?
这是一个 JSFiddle 演示。
padding
的问题是 div
中实际上有一个 img
。并且图像经常改变大小。如果您在 padding
时滚动,没关系,图像会滚动到正确的位置。但是使用 padding
会导致多个尺寸的图像永远不会加载到 div
的中心,这正是我需要的。
你试过吗?
.mainPicWrapper {
border:1px solid black;
text-align:center;
}
#sticky-div.sticky {
position: fixed;
top: 0;
border:0px;
right:7px;
width:70%;
}
.topRightMainContainer {
border:1px;
width:70%;
position:absolute;
right:7px;
}
我有一个 parent div
和一个 child。 parent是置顶,child是mainPicWrapper
CSS:
.mainPicWrapper {
border:1px solid black;
padding-left:25px;
}
#sticky-div.sticky {
position: fixed;
top: 0;
border:0px;
}
我有 jQuery 删除页面加载时的 .sticky class
。
然后,当它向下滚动超过 div
的顶部时,它会将 .sticky
class 添加回来,因此 div
停留在 div
的顶部页面向下滚动时,效果很好。
但是,如果我删除 padding-left:25px;
并将其替换为 text-align:center;
,则它不起作用。使用 text-align:center;
,当我滚动时,div
突然向左跳回到零。
为什么 padding-left
会应用到置顶贴 div
,而 text-align:center;
不会?
这是一个 JSFiddle 演示。
padding
的问题是 div
中实际上有一个 img
。并且图像经常改变大小。如果您在 padding
时滚动,没关系,图像会滚动到正确的位置。但是使用 padding
会导致多个尺寸的图像永远不会加载到 div
的中心,这正是我需要的。
你试过吗?
.mainPicWrapper {
border:1px solid black;
text-align:center;
}
#sticky-div.sticky {
position: fixed;
top: 0;
border:0px;
right:7px;
width:70%;
}
.topRightMainContainer {
border:1px;
width:70%;
position:absolute;
right:7px;
}