


How to center the entire page content and how to automatically scale the height to adapt to the content. This is the most common problem when learning CSS layout. A practical example is given below and explained in detail. (The experience and experience in this article are the result of discussions between xpoint and guoshuang on the Blue Ideal Forum.)
First of allClick here to see the actual running effect. This page can be centered and highly adaptive in mozilla, opera and IE browsers. Let’s analyze the code:
Full code
1
1
1
1
1
Code Analysis

First we define the body and the first line at the top #header. The key here is the text-align:center; in the body and the margin-right: auto;margin- left: auto;, these two sentences make the header centered. Note: In fact, defining text-align:center; already achieves centering in IE, but it is invalid in mozilla. You need to set margin:auto; to achieve centering in mozilla.
Next define the two middle columns #right and #left. In order to center the two middle columns, we nest a layer #contain outside them and set margin:auto; to contain, so that #right and #left are naturally centered.
Pay attention to the order of definition of the middle two columns. We first define #right and let it float on the rightmost side of the #contain layer through float: right;. Then define #left and let it float to the left of the #right layer through float: left;. This is exactly the opposite of the order in which we defined the table from left to right (Correction: left first then right, or first right then left, you can design it according to your own needs).
We see that there is a layer #mainbg nested between #contain and the two columns in the code. What is this layer used for? This layer is used to define the background of #contain. You will definitely ask, why not define the background directly in #contain, but add another layer? That's because the background defined directly in #contain will not be displayed in mozilla, and the height value must be defined. If a height value is defined, the #right layer cannot automatically scale according to the content. In order to solve the background and height problems, it is necessary to add such a #mainbg layer. The trick is to define the #mainbh layer float: left;, because float automatically gives the layer width and height attributes. (Let’s understand it this way for the time being:)
Finally, define the #footer layer at the bottom. The key to this definition is: clear:both;. The function of this sentence is to cancel the floating inheritance of the #footer layer. Otherwise, you will see #footer displayed next to #header instead of under #right.
After the main layers are defined, the layout is ready. One additional point: You saw that I also defined a .text{margin:0px;padding:20px;}. The function of this class is to create a 20px margin around the content. Why not define margin or padding directly in #right? Because Mozilla and IE have inconsistent interpretations of the CSS box model, directly defining margin/padding will cause layout deformation in Mozilla. I usually solve the problem by putting another layer inside.

Linking CSS files to HTML can be achieved by using elements in part of HTML. 1) Use tags to link local CSS files. 2) Multiple CSS files can be implemented by adding multiple tags. 3) External CSS files use absolute URL links, such as. 4) Ensure the correct use of file paths and CSS file loading order, and optimize performance can use CSS preprocessor to merge files.

Choosing Flexbox or Grid depends on the layout requirements: 1) Flexbox is suitable for one-dimensional layouts, such as navigation bar; 2) Grid is suitable for two-dimensional layouts, such as magazine layouts. The two can be used in the project to improve the layout effect.

The best way to include CSS files is to use tags to introduce external CSS files in the HTML part. 1. Use tags to introduce external CSS files, such as. 2. For small adjustments, inline CSS can be used, but should be used with caution. 3. Large projects can use CSS preprocessors such as Sass or Less to import other CSS files through @import. 4. For performance, CSS files should be merged and CDN should be used, and compressed using tools such as CSSNano.

Yes,youshouldlearnbothFlexboxandGrid.1)Flexboxisidealforone-dimensional,flexiblelayoutslikenavigationmenus.2)Gridexcelsintwo-dimensional,complexdesignssuchasmagazinelayouts.3)Combiningbothenhanceslayoutflexibilityandresponsiveness,allowingforstructur

What does it look like to refactor your own code? John Rhea picks apart an old CSS animation he wrote and walks through the thought process of optimizing it.

CSSanimationsarenotinherentlyhardbutrequirepracticeandunderstandingofCSSpropertiesandtimingfunctions.1)Startwithsimpleanimationslikescalingabuttononhoverusingkeyframes.2)Useeasingfunctionslikecubic-bezierfornaturaleffects,suchasabounceanimation.3)For

@keyframesispopularduetoitsversatilityandpowerincreatingsmoothCSSanimations.Keytricksinclude:1)Definingsmoothtransitionsbetweenstates,2)Animatingmultiplepropertiessimultaneously,3)Usingvendorprefixesforbrowsercompatibility,4)CombiningwithJavaScriptfo

CSSCountersareusedtomanageautomaticnumberinginwebdesigns.1)Theycanbeusedfortablesofcontents,listitems,andcustomnumbering.2)Advancedusesincludenestednumberingsystems.3)Challengesincludebrowsercompatibilityandperformanceissues.4)Creativeusesinvolvecust


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Dreamweaver CS6
Visual web development tools

WebStorm Mac version
Useful JavaScript development tools

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),
