Home >Web Front-end >HTML Tutorial >[CSS] About div alignment and web page layout_html/css_WEB-ITnose

[CSS] About div alignment and web page layout_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 11:53:201337browse

The reason why you need to learn the div layout thoroughly is because the table layout is really embarrassing. If they are both in the same table,

The distribution of specifications of each row will not be possible 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 in the table layout is effective for the td setting, and the td in the remaining rows The settings will be overwritten by the td settings in the first line.

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 div.

But div layout can also complete inline layout, but you need to define the float attribute in style, and complete an inline layout, use clear:both in style to wrap the line,


The above layer arrangement 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>div</title></head><body><!--默认情况下的div对齐--><div style="background:#aa0; width:15%; height:100px;"></div><div style="background:#0a0; width:15%; height:100px;"></div><!--更换对齐方式,必须使用clear:both换行,这个换行符的高度为10px,默认为0px,颜色同网页的背景色--><div style="clear:both; height:10px;"></div><!--使用了行内右对齐的方式,是先写最右图层,再写次右图层,与常人思维相反--><div style="background:#F00; width:10%; height:100px; float:right; margin-right:10%"></div><div style="background:#00f; width:10%; height:100px; float:right;"></div><div style="clear:both; height:10px;"></div><!--使用行内左对齐方式--><div style="background:#0f0; width:10%; height:100px; float:left;"></div><div style="background:#F00; width:10%; height:100px; float:left;"></div><div style="clear:both; height:10px;"></div><div style="background:#00f; width:10%; height:100px; float:left;"></div><!--如果你更换对齐方式,这里是希望从行内左对齐更变成一个无论大小的图层占用一行,而不用clear:both换行的话,这两个图层会叠放在一起,出错--><div style="background:#0af; width:15%; height:100px;"></div><!--此乃正确的使用方式。--><div style="clear:both; height:10px;"></div><div style="background:#aa0; width:15%; height:100px;"></div><div style="background:#0a0; width:15%; height:100px;"></div></body></html>
For some images such as navigation bars that are fixed at the beginning or end of the page Layers, some advertising layers that are outside the system need to use the alignment of position. The former is fixed and the latter is absolute.

In the above code, continue to add the following code:

<div style="background:#eee; width:15%; height:100px; position:absolute; top:5%; left:80%;">游离于体系之外</div><div style="background:#aaa; width:100%; height:30px; position:fixed; top:0%;left:0%">游离于体系之外</div><!--下面两个图层,只是为了说明上面两行代码可以放在任何位置,但不影响网页布局之用--><div style="background:#aa0; width:15%; height:100px;"></div><div style="background:#0a0; width:15%; height:100px;"></div>
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 about "navigation bar" ” layer and the two lines of code for the “advertisement” layer can be placed anywhere without affecting the network layout. Then, all the code of the web page evolves into the following:

div
<div style="background:#eee; width:15%; height:100px; position:absolute; top:5%; left:80%;">游离于体系之外</div><div style="background:#aaa; width:100%; height:30px; position:fixed; top:0%;left:0%">游离于体系之外</div><!--下面两个图层,只是为了说明上面两行代码可以放在任何位置,但不影响网页布局之用--><div style="background:#aa0; width:15%; height:100px;"></div><div style="background:#0a0; width:15%; height:100px;"></div>
Therefore, the div layout is much more powerful, controllable, and usable than the table layout.

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