p layout is the focus of learning. This article mainly introduces the relevant learning materials of p alignment and web page layout in detail. It has certain reference value. Interested friends can refer to it
The reason why you need to learn p layout thoroughly is because the layout of table is really difficult to use. If they are in the same table, the distribution of specifications of each row cannot be adjusted at all. For example, the following very simple code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body> <table border="1"> <tr> <td width="5%">11111111111111</td> <td width="85%">11111111111111</td> <td width="5%">11111111111111</td> <td width="5%">11111111111111</td> </tr> <tr> <td width="5%">11111111111111</td> <td width="5%">11111111111111</td> <td width="85%">11111111111111</td> <td width="5%">11111111111111</td> </tr> </table> </body> </html>
I wanted to write a layout like this:
But the actual effect is like this:
This is normal, because only the first row of the table layout is effective for the td setting, and the td settings of the remaining rows will be overwritten by the td setting of the first row. .
This problem is very serious, especially for web designers. When you set the border attribute of the table to 0, it is difficult to figure out what happened?
To solve this problem, if you still use table layout, you have two methods. One is to make the two rows not in the same table, and the other is to use table nesting.
But this is too painful, isn’t it? Do you have to use a new table every time you layout? And how does the script number so many tables? How to control?
So the web page layout of table is not very useful and can only be used for in-line layout. The role of table in in-line layout is indeed much more powerful for p.
But p layout can also complete inline layout, but you need to define the float attribute in style, and complete an inline layout, and use clear:both in style to wrap the line.
The above layer discharge is achieved through the following code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>p</title> </head> <body> <!--默认情况下的p对齐--> <p style="background:#aa0; width:15%; height:100px;"></p> <p style="background:#0a0; width:15%; height:100px;"></p> <!--更换对齐方式,必须使用clear:both换行,这个换行符的高度为10px,默认为0px,颜色同网页的背景色--> <p style="clear:both; height:10px;"></p> <!--使用了行内右对齐的方式,是先写最右图层,再写次右图层,与常人思维相反--> <p style="background:#F00; width:10%; height:100px; float:right; margin-right:10%"></p> <p style="background:#00f; width:10%; height:100px; float:right;"></p> <p style="clear:both; height:10px;"></p> <!--使用行内左对齐方式--> <p style="background:#0f0; width:10%; height:100px; float:left;"></p> <p style="background:#F00; width:10%; height:100px; float:left;"></p> <p style="clear:both; height:10px;"></p> <p style="background:#00f; width:10%; height:100px; float:left;"></p> <!--如果你更换对齐方式,这里是希望从行内左对齐更变成一个无论大小的图层占用一行,而不用clear:both换行的话,这两个图层会叠放在一起,出错--> <p style="background:#0af; width:15%; height:100px;"></p> <!--此乃正确的使用方式。--> <p style="clear:both; height:10px;"></p> <p style="background:#aa0; width:15%; height:100px;"></p> <p style="background:#0a0; width:15%; height:100px;"></p> </body> </html>
And for some such as navigation Layers such as bars that are fixed at the beginning or end of the page, and some advertising layers that are free from the system, need to use the alignment method of position. The former is fixed and the latter is absolute.
In the above code, continue to add the following code:
<p style="background:#eee; width:15%; height:100px; position:absolute; top:5%; left:80%;">游离于体系之外</p> <p style="background:#aaa; width:100%; height:30px; position:fixed; top:0%;left:0%">游离于体系之外</p> <!--下面两个图层,只是为了说明上面两行代码可以放在任何位置,但不影响网页布局之用--> <p style="background:#aa0; width:15%; height:100px;"></p> <p style="background:#0a0; width:15%; height:100px;"></p>
The following effect will appear:
The layer with position:fixed will always have its head hanging even if the scroll bar is pulled down:
The above is about the "Navigation Bar" layer and " The two lines of code for the "Advertising" layer can be placed anywhere without affecting the network layout. Then, all the code of the web page evolves into the following:
p <p style="background:#eee; width:15%; height:100px; position:absolute; top:5%; left:80%;">游离于体系之外</p> <p style="background:#aaa; width:100%; height:30px; position:fixed; top:0%;left:0%">游离于体系之外</p> <!--下面两个图层,只是为了说明上面两行代码可以放在任何位置,但不影响网页布局之用--> <p style="background:#aa0; width:15%; height:100px;"></p> <p style="background:#0a0; width:15%; height:100px;"></p>
So, p layout is much more powerful, controllable and usable than table layout
The above is the detailed content of Detailed explanation of div alignment and web page layout. For more information, please follow other related articles on the PHP Chinese website!