如何删除页面上的滚动条

时间:2016-07-25 22:09:29

标签: javascript jquery html css

在具有一个“div”的网页上工作,该div以对齐为中心。我经历了一系列尝试让它以我想要的方式工作的方法,并最终找到了最接近的方法。我在这里有一个工作演示

FIDDLE

我现在唯一的问题是,即使内容没有占用页面的整个内容,它仍会添加滚动条。我想知道是否还有删除它?我相信它与中心“div”的jQuery方法有关。

使用Javascript:

$(function() {
  jQuery.fn.center = function() {
    this.css("position", "fixed");
    this.css("top", ($(window).height() / 2) - (this.outerHeight() / 2));
    this.css("left", ($(window).width() / 2) - (this.outerWidth() / 2));
    return this;
  }

  $('#myDiv').center();
  $(window).resize(function() {
    $('#myDiv').center();
  });
});

CSS

* {
  margin: 0;
  padding: 10px;
}

html,
body {
  height: 100%;
}

body {
  font-family: 'Josefin Sans';
  text-align: center;
}

p {
  font-size: 18px;
  margin: 0 0 0.5em;
}

.centered-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%;
}

.centered {
  background: #ccc;
  border-radius: 8px;
  margin: 0 auto;
  padding: 20px;
  width: 85%;
}

4 个答案:

答案 0 :(得分:1)

body{
    overflow: hidden;
}

仅垂直:

body{
    overflow-y: hidden;
}

仅水平:

body{
    overflow-x: hidden;
}

可能重复:Hiding the scrollbar on an HTML page

答案 1 :(得分:0)

html,
body {
  position: fixed;
  top:00;
  left:0;
  bottom:0;
  right:0;
}

这是您的updated demo

答案 2 :(得分:0)

将溢出设置为隐藏可能会导致滚动条没有出现,但在这种情况下,它可能无法完全垂直居中。

相反,您不能像使用

那样在所有元素上设置填充
* {
  margin: 0;
  padding: 10px;
}

它使你的body元素和.content-wrapper有额外的10px填充,增加了它的高度并使滚动条出现,如果你将这个padding设置为0滚动条消失,请检查你的小提琴。

因此,对于您的示例,您可以将您的CSS设置为

body, html {
  margin: 0;
  padding: 0;
}

p, h1, h2, h3, h4, span, br, hr {
  margin: 0px;
  padding: 10px;
} 

html,
body {
  height: 100%;
  margin: 0;
}

body {
  font-family: 'Josefin Sans';
  text-align: center;
}

p {
  font-size: 18px;
  margin: 0 0 0.5em;
}

.centered-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%;
}

.centered {
  background: #ccc;
  border-radius: 8px;
  margin: 0 auto;
  padding: 20px;
  width: 85%;
}

/*
Button
*/

.btn {
  -webkit-border-radius: 8;
  -moz-border-radius: 8;
  border-radius: 8px;
  font-family: Arial;
  color: black;
  font-size: 18px;
  background: #ccc;
  padding: 10px 20px 10px 20px;
  text-decoration: none;
  outline: none;
}

.btn:hover {
  background: #bbb;
  text-decoration: none;
  }

在这种情况下,滚动条不会出现。

不使用*设置所有元素的边距和填充,而是使用类似css样式重置的东西。谷歌吧。然后仅对您真正需要的元素应用填充。

答案 3 :(得分:0)

设置溢出到隐藏;这可以解决它。