Skip to main content

Intermediate CSS: Box Model

Many web pages use box model to organize the web content. For example, when I inspect MDN homepage, I see there are box shapes on the page. Some boxes are visible, but some boxes are invisible.


No matter those boxes are visible or invisible, the main purpose to use box model is to let the web page have an appropriate layout, which allow users to catch the clear information and easy to read.

What Is The Box Model?

According to MDN, in a document, each element is represented as a rectangular box. In CSS, each of these rectangular boxes is described using the standard box model. 

Each box has four edges: margin, border, padding and content edge.

From MDN

Content:The content of a CSS box is where the text and images appear. The "width" and "height" properties set the width and height of content box. 

Padding: Padding refers to the inner margin of a CSS, and it is transparent. The properties include padding-top, padding-right, padding-bottom, and padding-left. 

Border: The border of a CSS box goes around the padding and content. The properties include border-top, border-right, border-bottom, and border-left. And we can also set the border width, style, and color.

Margin: The margin surrounds a CSS box, and it is outside the border. It is also transparent. The properties includes: margin-top, margin-left, margin-bottom, and margin-right. (Above Definition are From MDN Box Model)

Now I am going to show an example to explain each element of CSS box.

I create a simple HTML page includes two "headers" and one "content". Each content has a border around it. 

In order to let you see how the box change, I will only make the red content box change. 


I begin from the outside CSS box to inside box. Firstly, I set the outside box margin 50px. You can see the space between two black box and red box are getting bigger. 

Secondly, I set the padding, the inside margin, as 50px, too. The inside margin is larger than the previous one.


If you want to move the "content" to the center, you can also try to set the padding-left properties.

Thirdly, I set the border. I only change the border-bottom to "10px dashed blue" style, so you can see the difference between the red and blue border.


Lastly, I set the content width and height in 200px, then the red box become a square.


You can always inspect (right click the web page and select the inspect) the page and change the property value and see the differences. 

Comments

Popular posts from this blog

Intermediate Express.js: How To Add Styles & Partials in EJS File?

So far, we only have simple HTML tags and ejs tags in each ejs file. Every template page has no style at all. And the basic HTML header and footer are also missing. Today, I learned how to add styles and partials in ejs file. Link Style Step One: Touch a Separate CSS file I create a new directory "Style" under the "EJSDemo" directory, then I add a new CSS file "app.css" inside "Style" folder. Step Two: Add app.use(express.static()) in the app.js I add app.use(express.static("style")) in the "app.js". This will tell Express.js to serve the content of "Style" directory. Step Three: Write styles in CSS file I simple give body an orange background color and set text color to be grey. Step Four: Link to CSS file in the EJS file I just add <link> tag to link the "app.css" file on the top of the h1 tag in each ejs template. As the result, when I run the app and...

Intermediate Express.Js: Write Conditions and Loops In The EJS (study note)

We continue to use the app.js which we have build to be the study example. In the last post, we only add a simple EJS tag <%= thingVar %> inside h1 tag. This will match the "thing" to any "thing" request from the user. If Statement Today, the course shows us to write a simple if statement in the EJS file. I learn to apply it to my own app. In the if statement, if users send"/wantto/workout" request, the page will show a new content "Good Idea!". We wrote the if statement in the "diet.ejs" file, and we add "<% %>" tags around the code. We have to wrap every line of JavaScript anytime JavaScript starts and ends. Moreover, you may see there are two types of ejs tags here: <%= %> The one with equal sign. According to the course, when we add equal sign, the value that is returned inside of the tag will be rendered to the HTML page. it will be added to the HTML. For example, if we write ...

My Story: A Mommy Start To Learn Code From Zero

From Google Image I am not a programmer, and I thought I would never become one. Everytime I see someone is coding, I think he or she must be very talent.  For me, coding is a very difficult subject to learn. Not only the language has so many rules, but also the logical reasoning behind the language is complex.  In my graduated school, I knew many friends who didn't have any coding background, but they are doing programmer or developer jobs now. Some of them went to school to study coding, and some of them  learned to code by themselves. Their stories are so impressive.  I wasn't ready to learn code until I finished my first Chinese book "留学,我的青春呀!" recently. I always want to be a writer and write my own book. I started writing blog three years ago, and I updated my post two to three times every week. As I enjoyed writing , I started to get some followers, likes, and good comments on my blog. Then, I decided to plan my first book. My First...