difference between css height : 100% vs height : auto

css height: auto not working
css height fit content
css height: auto vs 100
dynamically change height of div based on content
how to auto adjust the div height according to content in it
css height not working
css get height of element
css max-height

I was asked a question in an interview that "what is the difference between the css height:100% and height:auto?"

Can any one explain?

height: 100% gives the element 100% height of its parent container.

height: auto means the element height will depend upon the height of its children.

Consider these examples:

height: 100%

<div style="height: 50px">
    <div id="innerDiv" style="height: 100%">
    </div>
</div>

#innerDiv is going to have height: 50px

height: auto

<div style="height: 50px">
    <div id="innerDiv" style="height: auto">
          <div id="evenInner" style="height: 10px">
          </div>
    </div>
</div>

#innerDiv is going to have height: 10px

Height: 100% VS Height:auto, The height property in CSS defines specifies the content height of Negative values like height: -100px are not accepted. height computes to auto (it will be as tall as the content inside it is, or zero if there is no content). but a conceptual definition of “content area” could be “the area inside the padding”. I was asked a question in an interview that "what is the difference between the css height:100% and height:auto?" Can any one explain?

A height of 100% for is, presumably, the height of your browser's inner window, because that is the height of its parent, the page. An auto height will be the minimum height of necessary to contain .

Height Property, Definition and Usage. The height property sets the height of an element. The height of an element does not include padding, borders, or margins! If height: auto; the element will automatically adjust its height to allow its content height: 100px; CSS height: useful tips. The difference between height: 100% and height: auto is that the percentage value gives the element the height of its parent. auto height is flexible as it is based on the height of its children elements. CSS height does not work on inline elements, column groups, and table columns.

The default is height: auto in browser, but height: X% Defines the height in percentage of the containing block.

CSS height property, I was asked a question in an interview that "what is the difference between the css height:100% and height:auto?" Can any one explain? Specifying min-height:100% means that if the computed height is less than 100%, in fact even if you explicitly specified a height less than 100%, it is treated as if you said height:100%. Note that one key difference is that max-height can overrule height but cannot overrule min-height (because max-height is considered after height but before min-height according to the W3C recommendation as quoted above).

height:100% works if the parent container has a specified height property else, it won't work

CSS height: 100% vs height: inherit, The [code ]width:100% [/code] just means that the element is going to occupy all of container block plus i will also consider any border or horizontal margin given to it. What's the difference between "width: auto" and "width: 100%" in CSS? In CSS, we have the value auto which could be used for properties like margin, positioning, height, width, and a lot more. I felt that I need a place to document everything I know about them so that it can be a reference for anyone interested to dig into the auto thing.

difference between css height : 100% vs height : auto - css - html, The height CSS property specifies the height of an element. border: 2px solid blue; } #taller { height: 50px; } #shorter { height: 25px; } #parent { height: 100px; } #child { height: 50%; width: 75%; } The definition of 'height' in that specification. Computed value, a percentage or auto or the absolute length. jQuery provides two ways to set width and height of any element. You can set using css or you can use jQuery provided methods. If you want to set width to 100px then $('#dvText1').css('width','100px'); $('#dvText2').width(100); Then what is the difference? The difference lies in datatype.

What is the difference between auto and 100% value in CSS?, Easily make an element as wide or as tall with our width and height utilities. Includes support for 25% , 50% , 75% , 100% , and auto by default. <div class="​w-25 p-3" style="background-color: #eee;">Width 25%</div> <div class="w-50  The difference between width:auto and width:100%. When adapting a layout for different viewport widths (a.k.a. responsive design) or media (like print), it’s common to reset any float and width values on major layout blocks to linearise their display.

height, CSS height: 100% vs height: inherit I asked the question the difference between height: 100%; and height: auto; but what is the difference between When the height property is set to a value other than "auto" it means that the element's height should always be that value, no matter how much room its contents needs. But when the min-height property is set, it means that the element's height should be at least that high but may increase if the content needs more room.

Comments
  • I think that in the case of 'height:auto #innerDiv will be 10px + the size it needs for its own content - see this jsfiddle
  • @Manish Mishra: What is the best responsive design? Setting the height of the child element or the container element, and letting the other to derive its height ?
  • @Djack, it all depends on what look, feel and behavior you expect from your design on various screens, and accordingly you write your css. There is no such generic global rule as setting the height of the child element or the container element. You can do whatever you have to, to achieve your design, provided you follow certain consistency, avoiding duplication, reducing re-work, grouping common layouts. In short, there must be a system/pattern to your work, so that its easy to read and alter, and of course the fact that it shd work
  • I think a good way of thinking about auto is that you are 'unsetting' hight - it's like not having it set.
  • I modified the fiddle that BornToCode shared above, to make it more obvious that auto causes the element to grow to accomodate BOTH its content, AND its child's content. In contrast a Fixed height value does not grow (or show) content that cannot fit within the declared height.jsfiddle.net/m3f8y6xr/1 This Answer, I believe, is not sufficiently worded to make it ovbious that the element will grow to include all content, whether it is its own text, or a child's content. Of course it can be argued that its own text is also a child. This provides visual confirmation of the behavior.
  • This isn't necessarily correct if the parent element is one with a defined height that doesn't fit to the size of the browser's window