เค้าโครง CSS - ตัวอย่างโฟลต
หน้านี้ประกอบด้วยตัวอย่างโฟลตทั่วไป
ตารางกล่อง / กล่องความกว้างเท่ากัน
กล่อง 1
กล่อง2
กล่อง 1
กล่อง2
กล่อง 3
ด้วยfloat
คุณสมบัตินี้ จึงง่ายต่อการลอยกล่องเนื้อหาแบบเคียงข้างกัน:
ตัวอย่าง
* {
box-sizing: border-box;
}
.box {
float: left;
width: 33.33%; /* three
boxes (use 25% for four, and 50% for two, etc) */
padding:
50px; /* if you want space between the images */
}
ขนาดกล่องคืออะไร?
คุณสามารถสร้างกล่องลอยสามกล่องเคียงข้างกันได้อย่างง่ายดาย อย่างไรก็ตาม เมื่อคุณเพิ่มสิ่งที่ขยายความกว้างของแต่ละกล่อง (เช่น ช่องว่างภายในหรือเส้นขอบ) กล่องจะแตก คุณสมบัติbox-sizing
ช่วยให้เราสามารถใส่ช่องว่างภายในและเส้นขอบในความกว้างทั้งหมด (และความสูง) ของกล่อง ตรวจสอบให้แน่ใจว่าช่องว่างภายในของกล่องและไม่แตกหัก
คุณสามารถอ่านเพิ่มเติมเกี่ยวกับคุณสมบัติการปรับขนาดกล่องได้ในบทการปรับขนาดกล่อง CSSของ เรา
รูปภาพเคียงข้างกัน
ตารางของกล่องยังสามารถใช้เพื่อแสดงภาพเคียงข้างกัน:
ตัวอย่าง
.img-container {
float: left;
width: 33.33%; /* three
containers (use 25% for four, and 50% for two, etc) */
padding:
5px; /* if you want space between the images */
}
กล่องความสูงเท่ากัน
In the previous example, you learned how to float boxes side by side with an equal width. However, it is not easy to create floating boxes with equal heights. A quick fix however, is to set a fixed height, like in the example below:
Box 1
Some content, some content, some content
Box 2
Some content, some content, some content
Some content, some content, some content
Some content, some content, some content
Example
.box {
height: 500px;
}
However, this is not very flexible. It is ok if you can guarantee that the boxes will always have the same amount of content in them. But many times, the content is not the same. If you try the example above on a mobile phone, you will see that the second box's content will be displayed outside of the box. This is where CSS3 Flexbox comes in handy - as it can automatically stretch boxes to be as long as the longest box:
Example
Using Flexbox to create flexible boxes:
Tip: You can read more about the Flexbox Layout Module in our CSS Flexbox Chapter.
Navigation Menu
You can also use float
with a list of hyperlinks to create a horizontal menu:
Example
Web Layout Example
It is also common to do entire web layouts using the float
property:
Example
.header, .footer {
background-color: grey;
color: white;
padding: 15px;
}
.column {
float: left;
padding: 15px;
}
.clearfix::after {
content:
"";
clear: both;
display: table;
}
.menu {
width: 25%;
}
.content {
width: 75%;
}
More Examples
Let an image float to the right in a paragraph. Add border and margins to the image.
Let an image with a caption float to the right.
Let the first letter of a paragraph float to the left and style the letter.
Use float to create a homepage with a navbar, header, footer, left content and main content.
All CSS Float Properties
Property | Description |
---|---|
box-sizing | Defines how the width and height of an element are calculated: should they include padding and borders, or not |
clear | Specifies what should happen with the element that is next to a floating element |
float | Specifies whether an element should float to the left, right, or not at all |
overflow | Specifies what happens if content overflows an element's box |
overflow-x | Specifies what to do with the left/right edges of the content if it overflows the element's content area |
overflow-y | Specifies what to do with the top/bottom edges of the content if it overflows the element's content area |