强制空div占据整页高度

时间:2017-04-20 22:03:51

标签: html css web

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

根据另一位成员的建议,我编辑了这个内容以包含我的所有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%的高度一直延伸到整个网页的底部,而不仅仅是可见的屏幕。

非常感谢任何帮助。虽然我会非常感谢任何答案,但我会因为我是新手而真的很感激,如果任何解决方案都可以保持简单 - 或者如果不可能,那么它们可以被详细解释,或者一些外部包含的资源将详细解释。我想学习!

谢谢!

1 个答案:

答案 0 :(得分:2)

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

.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;
}