【问题标题】:Forcing an empty div to take up full page height强制空 div 占据整个页面高度
【发布时间】:2017-04-21 06:12:53
【问题描述】:

我正在尝试在页面左侧放置一个蓝色条。它应该从页面的顶部到底部占据整个高度。但是,它不一定有内容。

根据另一位成员的建议,我已对其进行了编辑,以包含我所有的 HTML 和 CSS。

HTML:

    <!DOCTYPE html>

<html>

    <head>


        <title>anonymized</title>

    </head>

    <body>

        <div class = "wrapper">

        <div class = "sideBar">
                <p class = "sideBarText">We are anonymized. We are here to provide top-quality service for all our clients, no matter their needs.</p>  

              </div>

            <div class = "headerImage">

                <pre class = "logoLink">anonymized</pre>

            </div>

            <div class = "globalNav">

                <ul>
                    <li class = "globalNavItem">About Us</li>
                    <li class = "globalNavItem">Services</li>
                    <li class = "globalNavItem">Testimonials</li>
                    <li class = "globalNavItem">Contact</li>
                </ul>
            </div>





        <p>The 1881 world tour of King Kalākaua of the Kingdom of Hawaii was his attempt to save the Hawaiian culture and population from extinction through the importation of a labor force from Asia-Pacific nations. His efforts brought the small island nation to the attention of world leaders, but sparked rumors that the kingdom was for sale. In Hawaii there were critics who believed the labor negotiations were just his excuse to see the world. The 281-day trip gave him the distinction of being the first monarch to circumnavigate the globe, just as his 1874 travels had made him the first reigning monarch to visit America and the first honoree of a state dinner at the White House.

Kalākaua met with heads of state in Asia, the Mideast and Europe, to encourage an influx of sugar plantation labor in family groups, as well as unmarried women as potential brides for Hawaii's existing contract laborers. While in Asia, he tried to forestall American ambitions by offering a plan to Emperor Meiji for putting Hawaii under the protection of the Empire of Japan with an arranged marriage between his niece Kaiulani and a Japanese prince. On his visit to Portugal, he negotiated a treaty of friendship and commerce with Hawaii that would provide a legal framework for the emigration of Portuguese laborers to Hawaii. The King had an audience in Rome with Pope Leo XIII and met with many of the crowned heads of Europe. Britain's Queen Victoria and the splendor of her royal life impressed him more than any other monarchy; having been greatly affected by the ornate trappings of European sovereigns, he would soon have Hawaii's monarchy mirror that grandeur.

The King traveled with no security guards; only a small group of personal friends made the journey with him. Except for land transportation in cities, and two loaned ships in China and the US, his modes of transportation were seldom reserved exclusively for him. He shared regularly scheduled steamships and rail transport with fare-paying passengers. On the Red Sea, he played cards and danced with other passengers. Like other tourists, he visited the white elephants of Siam, the Giza pyramid complex in Egypt, tourist sites in India, and museums in Europe. Along the way, he exceeded his original budget, went shopping anyway, and sent letters back home.

President James A. Garfield died four days before they arrived back in the United States, and Kalākaua paid a courtesy call to newly inaugurated President Chester A. Arthur at the White House in Washington, D.C. There were no public or private appearances for the King in New York, only a day at Coney Island. Before leaving the eastern US, the King met with Thomas Edison to have a demonstration of electric lights, and visited Virginia's Fort Monroe. He toured Hampton Normal and Agricultural School, and shopped for horses in Kentucky. The royal party boarded a train to California, where they were house guests of Claus Spreckels at his estate in Aptos (near Santa Cruz), and had a few days of seeing the sights in the area before sailing back to Hawaii. Kalākaua was successful in jump-starting new immigration, with the first transplants arriving in Hawaii less than a year later. In the years that followed, he began emulating the lifestyles of European royalty with expensive furnishings in Iolani Palace, a public coronation of himself, and a two-week public celebration of his birthday.</p>
        </div>



    </body>


</html>

还有完整的 CSS:

* {
    margin: 0;
    padding: 0;
}

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

  height: 100%;
  min-height: 100%;
}

.wrapper {

    width: 75%;
    height: 100%;
    margin: auto;
    border: 1px solid black;
}


.headerImage {
    width: 80%;
    height: 15em;
    background-image: url("skyline.jpg");
    margin: auto;
    background-size: 100% 400px;
    background-repeat: no-repeat;

    box-sizing: border-box;

}

.globalNav {
    margin: auto;
    background-color: blue;
    width: 80%;
    text-align: center;
    top: 0;

}

.globalNavItem {
    display: inline-block;
    color: white;
    font-size: 1.0em;
    padding: 0.5em 6%;
    margin: 0;
}

.sideBar {
    width: 10%;
    min-height: 100%;
    background-color: blue;
    float: left;

    margin: 0;
    box-sizing: border-box;
}



p {
    font-size: 72px;
    text-align: justify;

}

.sideBarText {
    width: 100%;
    font-size: 12pt;
    color: white;
    display: inline-block;
    margin: 0;
    padding: 3px;
    box-sizing: border-box;
    text-align: center;
}

这是整个事情的 JSFiddle:https://jsfiddle.net/d7vdkp4c/

如您所见,我现在拥有的确实会导致 div 占据 100% 的高度 - 可见的高度。包装器 div 折叠到等于我认为所谓的“视口高度”(我是 web 开发的新手;试图自学)。这意味着如果我向下滚动,该栏不会继续。

我一直在 Google 上对此进行大量研究,我在 StackOverflow 上阅读过的许多答案都在此处,但似乎都没有解决这个问题 - 使 100% 的高度一直延伸到整个网页的底部,而不仅仅是可见屏幕。

非常感谢您对此的任何帮助。虽然我会非常感谢任何答案,但由于我是新手,如果任何解决方案可以保持简单,我将非常感激 - 或者如果不可能,可以详细解释它们,或者一些外部的包含的资源将详细解释。我要学习!

谢谢!

【问题讨论】:

  • 将 HTML 和 CSS 放入您的帖子中。当您可以轻松地将其添加到您的帖子中时,为什么还要制作小提琴?
  • 如果您认为还可以。在大多数网站上,将大量代码放入帖子中被认为是错误的。如果这就是这里的方式,那么我将编辑我的帖子。
  • 阅读如何创建minimal reproducible example。您不应该复制/粘贴整个网站,这就是它“错误”的原因。但是为同一件事提供一个jsfiddle同样是错误的。理想情况下,您应该做的是将您的代码缩减为您需要帮助的必要内容,以重现您拥有的内容,并将其包含在帖子本身中。 SO 的目的是帮助他人 - 这意味着人们将在今天之后的几年内搜索这个问题并阅读您的帖子以获得帮助。 jsfiddle 不是这样,所以如果 jsfiddle 链接中断或其他什么(您没有在帖子本身中包含代码)......
  • 那么它对未来的人们没有用处或帮助。为什么需要在帖子本身中包含代码?但是,是的,不要只是复制和粘贴您的整个网站。只是您的问题所需的相关部分。
  • 好的,我去掉了所有不需要的东西。很抱歉弄错了;这是我第一次在这里发帖。

标签: html css web


【解决方案1】:

由于.wrapper 包含您的所有内容,请添加position: relative; padding-left: 10%,然后将.sidebarposition: absolute; top: 0; bottom: 0; left: 0; width: 10%; 放在一起,使其从.wrapper 的顶部延伸到底部

* {
  margin: 0;
  padding: 0;
}

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

html {
  height: 100%;
}

body {
  height: 100%;
  min-height: 100%;
}

.wrapper {
  width: 75%;
  margin: auto;
  border: 1px solid black;
  position: relative;
  padding-left: 10%;
  box-sizing: border-box;
}

.logoLink {
  font-family: 'Russo One', sans-serif;
  color: white;
  font-size: 2.5em;
}

.headerImage {
  width: 80%;
  height: 15em;
  background-image: url("skyline.jpg");
  margin: auto;
  background-size: 100% 400px;
  background-repeat: no-repeat;
  box-sizing: border-box;
}

.globalNav {
  margin: auto;
  background-color: blue;
  width: 80%;
  text-align: center;
  top: 0;
}

.globalNavItem {
  display: inline-block;
  color: white;
  font-size: 1.0em;
  padding: 0.5em 6%;
  margin: 0;
}

.sideBar {
  width: 10%;
  background-color: blue;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: 0;
  box-sizing: border-box;
}


/*Everything relating to pageNav is currently
  irrelevant as pageNav is commented out in the
  HTML*/

.pageNav {
  display: inline-block;
  border-width: 7px;
  border-style: ridge;
  float: left;
  width: 6%;
  text-align: center;
  background-color: lightgray;
  margin: 0.1em 0.7em 0.3em 0;
  min-width: 5.3em;
}

.pageNavHeader {
  font-weight: bold;
}

.pageNavItem {
  border-width: 2px 0 0 0;
  border-color: black;
  border-style: solid;
}

p {
  font-size: 72px;
  text-align: justify;
}

.sideBarText {
  width: 100%;
  font-size: 12pt;
  color: white;
  display: inline-block;
  margin: 0;
  padding: 3px;
  box-sizing: border-box;
  text-align: center;
}
<!DOCTYPE html>
<title>anonymized</title>
<body>
  <div class="wrapper">

    <div class="sideBar">
      <p class="sideBarText">We are anonymized. We are here to provide top-quality service for all our clients, no matter their needs.</p>

    </div>

    <div class="headerImage">

      <pre class="logoLink">anonymized</pre>

    </div>

    <div class="globalNav">

      <ul>
        <li class="globalNavItem">About Us</li>
        <li class="globalNavItem">Services</li>
        <li class="globalNavItem">Testimonials</li>
        <li class="globalNavItem">Contact</li>
      </ul>
    </div>



    <!-- <div class = "pageNav">
			<ul style = "list-style: none;">
				<li class = "pageNavHeader">Home</li>
				<li class = "pageNavItem">Test1</li>
				<li class = "pageNavItem">Test2</li>
				<li class = "pageNavItem">Test3</li>
				<li class = "pageNavItem">Test4</li>
				<li class = "pageNavItem">Test5</li>
				<li class = "pageNavItem">Test6</li>
			</ul>
		</div> -->

    <p>The 1881 world tour of King Kalākaua of the Kingdom of Hawaii was his attempt to save the Hawaiian culture and population from extinction through the importation of a labor force from Asia-Pacific nations. His efforts brought the small island nation
      to the attention of world leaders, but sparked rumors that the kingdom was for sale. In Hawaii there were critics who believed the labor negotiations were just his excuse to see the world. The 281-day trip gave him the distinction of being the first
      monarch to circumnavigate the globe, just as his 1874 travels had made him the first reigning monarch to visit America and the first honoree of a state dinner at the White House. Kalākaua met with heads of state in Asia, the Mideast and Europe,
      to encourage an influx of sugar plantation labor in family groups, as well as unmarried women as potential brides for Hawaii's existing contract laborers. While in Asia, he tried to forestall American ambitions by offering a plan to Emperor Meiji
      for putting Hawaii under the protection of the Empire of Japan with an arranged marriage between his niece Kaiulani and a Japanese prince. On his visit to Portugal, he negotiated a treaty of friendship and commerce with Hawaii that would provide
      a legal framework for the emigration of Portuguese laborers to Hawaii. The King had an audience in Rome with Pope Leo XIII and met with many of the crowned heads of Europe. Britain's Queen Victoria and the splendor of her royal life impressed him
      more than any other monarchy; having been greatly affected by the ornate trappings of European sovereigns, he would soon have Hawaii's monarchy mirror that grandeur. The King traveled with no security guards; only a small group of personal friends
      made the journey with him. Except for land transportation in cities, and two loaned ships in China and the US, his modes of transportation were seldom reserved exclusively for him. He shared regularly scheduled steamships and rail transport with
      fare-paying passengers. On the Red Sea, he played cards and danced with other passengers. Like other tourists, he visited the white elephants of Siam, the Giza pyramid complex in Egypt, tourist sites in India, and museums in Europe. Along the way,
      he exceeded his original budget, went shopping anyway, and sent letters back home. President James A. Garfield died four days before they arrived back in the United States, and Kalākaua paid a courtesy call to newly inaugurated President Chester
      A. Arthur at the White House in Washington, D.C. There were no public or private appearances for the King in New York, only a day at Coney Island. Before leaving the eastern US, the King met with Thomas Edison to have a demonstration of electric
      lights, and visited Virginia's Fort Monroe. He toured Hampton Normal and Agricultural School, and shopped for horses in Kentucky. The royal party boarded a train to California, where they were house guests of Claus Spreckels at his estate in Aptos
      (near Santa Cruz), and had a few days of seeing the sights in the area before sailing back to Hawaii. Kalākaua was successful in jump-starting new immigration, with the first transplants arriving in Hawaii less than a year later. In the years that
      followed, he began emulating the lifestyles of European royalty with expensive furnishings in Iolani Palace, a public coronation of himself, and a two-week public celebration of his birthday.</p>
  </div>


  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script src="globalNavScrollLock.js"></script>
</body>

【讨论】:

  • 谢谢!!这行得通。我将不得不摆弄填充以使所有内容都按我想要的方式排列,但这可以让它像我想要的那样填充整个空间。我会确保研究确切的原因;非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多