如何避免背景图像自动创建滚动条?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (18)

我的问题:我希望在一个基本的单页网站的右边有一个列部分(比方说10%)(没有滚动条)

#sidecolor {
    float: right;
    margin: 0;
    overflow: hidden;
    background: url(https://i.pinimg.com/736x/b9/78/50/b97850a4460e7a80600a3e0eb6b1bc4d.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 100% 10%;
}

但是当我将背景图像添加到列时,由于图像较大,它会通过列扩展,从而创建滚动条。

是否可以根据观众的屏幕尺寸裁剪图像,因此根本没有滚动条?

提问于
用户回答回答于

如果要在右侧使用固定列,请使用绝对位置:

#sidecolor {
    position: absolute;
    right: 0;
    top: 0;
    width: 10%;
    height: 100%;
    background-color (...);
    padding: 10% 10%;
    box-sizing: border-box;
}

另一个问题是填充。不要使用100%,我使用了box-sizing:border-box,这样填充不会改变高度。

用户回答回答于

所以你想要它修复。

将以下CSS添加到#sidecolor中,并清理项目。

#sidecolor {
  position: fixed;
  right: 0;
}

body {
  background-color: rgb(247, 233, 233);
  color: black;
  font-family: Source Sans Pro, monospace;
  margin: 0;
  width: 100vw;
  height: 100vh;
}

#maintext {
  margin: 0;
  float: left;
  font-size: 1.8rem;
  font-weight: 300;
  padding: 20% 0 0 20%;
  position: absolute;
}

#sidecolor {
  position: fixed;
  right: 0;
  margin: 0;
  overflow: hidden;
  background: url(https://i.pinimg.com/736x/b9/78/50/b97850a4460e7a80600a3e0eb6b1bc4d.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 100% 10%;
}

<div id="site">
  <div id="sidecolor">

  </div>

  <div id="maintext">
  </div>

</div>

所属标签

可能回答问题的人

  • HKC

    红客学院 · 创始人 (已认证)

    26 粉丝7 提问5 回答
  • Dingda

    Dingda · 站长 (已认证)

    4 粉丝0 提问3 回答
  • 西风

    renzha.net · 站长 (已认证)

    9 粉丝1 提问3 回答
  • 螃蟹居

    1 粉丝0 提问2 回答

扫码关注云+社区

领取腾讯云代金券