search
HomeWeb Front-endCSS TutorialDetailed explanation of CSS advanced layout model examples

CSS contains three layout models: flow model, float model, float layer model, layer

flow model

The default layout model of the web page has two characteristics

1. Block elements will be vertically extended from top to bottom in the containing element, because by default, the width of block elements is 100%. In fact, block elements will occupy their position in the form of rows.

<style type="text/css">
    h1,p,div{
        border:1px solid red;
    }
</style>

Detailed explanation of CSS advanced layout model examples

2. Under the flow model, inline elements will be displayed horizontally from left to right within the containing element.

<a href="http://>www.baidu.com</a><span>hello</span><em>shit</em><strong>world</strong>

www.baidu.com hello shit world will be displayed horizontally in the same line.

2. Floating model FLoat

Any element cannot float by default, but it can be defined as floating with CSS, such as div, p, table, img and other elements can be defined For example, for floating, let the following two div elements be displayed side by side on the same line

div{
    border:1px solid red;
    width:200px;
    height:200px;
    float:left;//从左向右排列
}
<div>hello</div>
<div>world</div>

Detailed explanation of CSS advanced layout model examples

3. Layer model Layer

can realize the html element Precise positioning (not used very much, but some effects can be achieved by using layer models locally)

There are three types of layer models:

Absolute positioning: position:absolute

Drag the element out of the document flow, and then use the left, right, top, and bottom attributes to perform absolute positioning relative to its closest parent containing block with a positioning attribute. If no such containing block exists, it is relative to the body element, that is, relative to the browser window.

Move the div element 100px to the right and 200px down relative to the browser window

div{
    position:absolute;
    width:100px;
    height:100px;
    border:1px solid red;
    left:100px;
    top:200px;
}

Relative to: position:relative

Move relative to the previous position, move The direction and amplitude are determined by the left, right, top, and bottom attributes, and the position before the offset is retained (eh1 is displayed at the position as shown in the figure, this is particularly important to pay attention to).

   .div1{
    position:relative;
    width:200px;
    height:200px;
    border:1px solid red;
    left:200px;
    top:200px;
}
<span>hello world>
<div class="div1">position:relative</div>
<span>eh1<span>

Detailed explanation of CSS advanced layout model examples

Fixed positioning: position:fixed

The coordinates of relative movement are the view (web page window within the screen) itself. Since the view itself is fixed, it will not change as the scroll bar of the browser window scrolls, unless you move the screen position of the browser window on the screen, or change the display size of the browser window, so fixedly positioned elements will always be in A certain position of the view within the browser window

#div2{
    position:fixed;
    bottom:100px;
    right:100px;
    width:200px;
    height:200px;
    border:1px solid red;
}
<div id="div2">position:fixed</div>

So that no matter how much content is in the browser, the div is always in the lower right corner of the window.

The combination of position:absolute and position:relative

It is known from the above that position:absolute is positioned relative to the browser, and position:absolute relative can be realized through position:relative Positioning relative to other elements but the following points must be met:

1. The referenced element must be the parent element of the positioned element

2. The referenced element is set to position:relative

3. Set the positioning element to position:absolute

#div1{
 border:1px solid red;
 width:200px;
 height:200px;
 position:relative;
}
#div2{
 border:1px solid red;
 width:50px;
 height:50px;
 left:20px;
 top:20px;
 position:absolute;
}
<div id="div1">
    <div id="div2">hello</div>
</div>

Detailed explanation of CSS advanced layout model examples

This way, div2 is positioned relative to div1.

The above is the detailed content of Detailed explanation of CSS advanced layout model examples. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Using Immer for React State ManagementUsing Immer for React State ManagementApr 18, 2025 am 10:41 AM

We make use of state to keep track of application data. States change as users interact with an application. When this happens, we need to update the state

The Making of an Animated FaviconThe Making of an Animated FaviconApr 18, 2025 am 10:35 AM

It’s the first thing your eyes look for when you’re switching tabs.

Using Your Domain with a Netlify-Hosted SiteUsing Your Domain with a Netlify-Hosted SiteApr 18, 2025 am 10:34 AM

Netlify has their own docs for Custom Domains, so if you're looking for horse's mouth technical docs on this stuff, that should be treated as the source of

Pseudo CodePseudo CodeApr 18, 2025 am 10:33 AM

Yonatan Doron wrote a post on Medium not long ago called "Art of Code — Why you should write more Pseudo Code." Love that title, as a fan of pseudo code

Let's Give Grunt Tasks the Marie Kondo Organization TreatmentLet's Give Grunt Tasks the Marie Kondo Organization TreatmentApr 18, 2025 am 10:31 AM

We live in an era of webpack and npm scripts. Good or bad, they took the lead for bundling and task running, along with bits of Rollup, JSPM and Gulp. But

Branching Out from the Great DivideBranching Out from the Great DivideApr 18, 2025 am 10:27 AM

I like the term Front-End Developer. It's encapsulates the nature of your job if your concerns are:

A Beginner's Journey to Launching a WebsiteA Beginner's Journey to Launching a WebsiteApr 18, 2025 am 10:20 AM

In September 2018, I was just a few months into my journey of learning web development. As I'm sure is the case with many new developers, it was a big task

All the New ES2019 Tips and TricksAll the New ES2019 Tips and TricksApr 18, 2025 am 10:19 AM

The ECMAScript standard has been updated yet again with the addition of new features in ES2019. Now officially available in node, Chrome, Firefox, and Safari

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Have Crossplay?
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool