Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
505 views
in Technique[技术] by (71.8m points)

css - Styling HTML and BODY selector to height: 100%; vs using 100vh

My brother and I were messing around in sublime earlier and he suddenly shout out, "I learned something new!"

A little shocked, I asked, "What's that..?"

He replied, "Viewport height! I started in I.E.6 when it wasn't fully supported and never really looked at it again." He then proceeded to show me.

To which I replied, "I accomplished the same thing here." and showed him another sandbox project I messed around with.

In my project, in the CSS, I wrote

(edit: I edited to put the background color in the div, not the html or body, my mistake)

(jsfiddle http://jsfiddle.net/nvLq8eg9/embedded/result/ )

html, body {
    height: 100%;
}

div {
    height: 100%;
    background: green;
}

his code is, (jsfiddle http://jsfiddle.net/nvLq8eg9/1/embedded/result/ )

div {
    height: 100vh;
    background: green;
}

Both did virtually the same thing. After doing some research on here, it appears as if the commonly run in to issue via the former method is the inability to scroll; however, on my sandbox project I had more content in it and was able to scroll and interact with the website normally.

Neither of us were able to determine what the differences were between both methods. Would anyone on here be able to educate us?

Thank you!

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

height: 100vh = 100% of the viewport height

height: 100% = 100% of the parent's element height

That is why you need to add height: 100% on html and body, as they don't have a size by default

Something you have to know : if you use % for vertical margin or padding, % will be calculated on the width of the parent element, not the height.

Tip : try using vh and vw units for font size :) I like this one (not supported in some browsers I know) : font-size: calc(.5vh + .5vw); (for example)

See a nice page here for CSS units : http://css-tricks.com/the-lengths-of-css/


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...