【问题标题】:Make element scroll without fixed position setting使元素滚动而无需固定位置设置
【发布时间】:2015-03-20 08:00:58
【问题描述】:

有没有办法让元素在不固定位置的情况下随背景滚动?所以在调整窗口大小时不会引起问题? 我所说的元素在css中的引用如下。

#logo {
        margin: 20px auto;
        width:355.2px;
        height:148.8px;

【问题讨论】:

  • 你说的有背景是什么意思
  • 我的意思是body滚动的时候,或者包含logo的div滚动的时候,logo基本上都会跟着上下滚动,但是我不想给一个固定的位置因为它当我调整窗口大小时,一切都会搞砸。
  • 如果不使用为它固定的位置,我认为这是不可能的。为了解决调整大小的问题,您可以使用屏幕查询来满足您的需求
  • 你能告诉我更多吗?我接触这些语言才一周。

标签: css


【解决方案1】:

如果不使用固定位置,这是无法完成的,为了解决调整大小的问题,您需要使用屏幕查询。这是一个如何在 style.css 文件和 list of default screen sizes

上使用它的示例

=== 已根据您的需要进行更新 ===

为了在屏幕中间对齐您的徽标,而不是按照您在 cmets 上的要求将其显示在较小的屏幕上,您需要为您的#logo 使用绝对位置,以便在您滚动页面,将其包装在一个固定的 div 中。这是诀窍

/* Your normal css goes here */
.logoContainer{
    position:fixed;
}
#logo {
    left:50%; /* this puts your logo on the middle of the screen */
    width:38px;
    margin-left:-19px; /* this needs to be half of the width */
    position:absolute;
}

/* Smartphones (portrait) ----------- */
@media only screen and (max-width : 320px) {
    /* Your fix for smaller screen sizes example*/
    #logo {
        display:none; /* this tells your div to not display */
    }
}

这是online example

【讨论】:

  • 我试过这个,我想我想知道,也许有没有任何属性可以让包含的 div 能够使包含的内容滚动?所以我基本上是在寻找适用于包含 div 而不是徽标本身的东西。
  • 或者你能解释一下这是如何工作的。因为当图片完全展开时,我希望徽标完美地位于顶部中间,所以当我调整大小时我根本不希望它显示。这是我编辑的方式,但结果不是我希望的:#logo { top:20px;左:50%;左边距:-177.6px;宽度:355.2px;高度:148.8px;位置:固定; } @media screen and (min-width: 320px) { #logo { margin left:-177.6px; }
  • 我已经编辑了我的答案@GiorgioVitanza,查看我添加的在线示例。使用结果调整窗口大小以查看它的实际效果。如您所说,根本不显示它,这取决于您在屏幕查询中放置的内容是要显示它还是提供任何其他样式
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-16
  • 2014-04-08
  • 1970-01-01
  • 2015-10-07
  • 2014-12-15
  • 1970-01-01
  • 2013-11-30
相关资源
最近更新 更多