CSS: CSS Width, Height & Overflow

Last updated: 2026-10-13

Properties in this section: width height min-width max-width min-height max-height overflow overflow-x overflow-y text-overflow object-fit

1. Width and Height

(1) Dimension Properties Quick Reference

Property Common Values Purpose
width 300px, 50%, 50vw, auto Element content width
height 200px, 50%, 50vh, auto Element content height
min-width 320px, 50% Minimum width (prevents too small)
max-width 1200px, 80% Maximum width (common in responsive)
min-height 200px, 100vh Minimum height
max-height 400px Maximum height (overflows if exceeded)
overflow visible, hidden, scroll, auto How to handle overflowing content
overflow-x visible, hidden, scroll, auto Horizontal overflow control
overflow-y visible, hidden, scroll, auto Vertical overflow control

(2) width and height

width and height set the element's content area dimensions:

▶ Example

▶ Try it Yourself

(3) Common Units

▶ Example

▶ Try it Yourself

(4) min-width / max-width

Limit element's minimum/maximum width, commonly used in responsive design:

▶ Example

▶ Try it Yourself

(5) min-height / max-height

▶ Example

▶ Try it Yourself

2. calc() Function

calc() is a CSS function that allows mathematical calculations (add, subtract, multiply, divide) in property values. Its biggest advantage is mixing different units.

📌 calc() rules: + and - must have spaces on both sides (calc(100% - 20px) ✅, calc(100%-20px) ❌), * and / spaces are optional.

▶ Example

▶ Try it Yourself

(1) Common Use Cases

  1. Sidebar + Main content: .main { width: calc(100% - 300px); } adapts to remaining space
  2. Equal-spacing cards: .card { width: calc((100% - 40px) / 3); } three columns with 20px gaps
  3. Responsive font: font-size: calc(14px + 0.5vw); base size + viewport increment
  4. Precise centering: left: calc(50% - 100px); known offset alternative to transform

(2) calc() Compatibility

calc() is supported in IE11+, Chrome 26+, Firefox 16+, Safari 7+ and can be safely used in modern projects. Just avoid string concatenation in calc().


3. Overflow Control

💡 overflow-x and overflow-y: When setting both horizontal and vertical overflow with different values, one may be forced to auto. Best practice is to use the overflow shorthand.

When element content exceeds set width/height, "overflow" occurs. The overflow property controls how overflow content is handled.

(1) overflow Values

▶ Example

▶ Try it Yourself

(2) Controlling Each Direction

▶ Example

▶ Try it Yourself

(3) Common Use Cases

1. Text Ellipsis

Combined with text-overflow for single-line text truncation:

▶ Example

▶ Try it Yourself

2. Image Cropping

Fixed container size with hidden overflow for images:

▶ Example

▶ Try it Yourself

3. Scroll Container

Create a fixed-height scrollable area:

▶ Example

▶ Try it Yourself

4. Clear Floats

Setting overflow: hidden or overflow: auto on parent clears child float effects:

▶ Example

▶ Try it Yourself

4. object-fit (Image/Video Adaptation)

object-fit controls how <img> or <video> replacement elements adapt to container size:

▶ Example

▶ Try it Yourself

5. CSS Dimension Functions

(1) calc()

calc() enables dynamic dimension calculations in CSS, mixing different units:

▶ Example

▶ Try it Yourself

Note: Operators must have spaces on both sides, otherwise they won't be recognized.


Properties in this section: width height min-width max-width min-height max-height overflow overflow-x overflow-y text-overflow object-fit

❓ FAQ

Q Why doesn't height: 100% work?
A Percentage height is relative to the parent's height. If the parent's height is auto (determined by content), the child's height: 100% can't be calculated — because the parent hasn't determined its own height yet. To make percentage heights work, the parent needs an explicit height value.
Q What's the difference between max-width: 100% and width: 100%?
A width: 100% forces the element to equal parent width, even if content is small. max-width: 100% means "never exceed parent width" — if the element is naturally smaller, it stays smaller. Using max-width: 100% for responsive images is best practice.
Q Does overflow: hidden hide all overflowing content?
A Yes. overflow: hidden clips all content exceeding element dimensions. If you need to scroll through overflow content, use overflow: auto (scrollbar appears when needed) or overflow: scroll (always shows scrollbar). overflow: hidden is also commonly used to trigger BFC (Block Formatting Context) to solve float issues.

📖 Summary

📝 Exercises

  1. Create a "responsive container" — width 80%, max-width 1200px, min-width 320px, centered horizontally.
  2. Create a fixed-size image container (300×200) with a larger image, using object-fit: cover to fill without distortion.
  3. Implement "single-line text ellipsis" and "multi-line text overflow" effects (hint: multi-line uses -webkit-line-clamp).
  4. Use calc() to implement a "full screen minus navigation bar height" layout.
Web-Tutorial.com

Web-Tutorial Tech Team

A team of developers maintaining programming tutorials. Each tutorial is written and reviewed by developers with expertise in that field. We work to keep our content accurate and reliable — if you spot an issue, please let us know.

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏