Home >Web Front-end >HTML Tutorial >Detailed explanation of position attribute under css_html/css_WEB-ITnose

Detailed explanation of position attribute under css_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 11:56:321064browse

Anyone who has written CSS will inevitably deal with the position attribute, but it is not easy to truly understand the position attribute. Two days ago, a blogger wanted to achieve the effect of a

element overlapping another
element on an HTML page and located in the lower right corner of the
element. I searched for other people's solutions on the Internet and implemented them. The most important thing here is to use the position attribute and left, right, top, bottom and other attributes. In order to understand the principles behind it more thoroughly, the blogger searched for relevant information on the Internet, and finally got some understanding. Maybe he only has a partial understanding, but I will write it down for everyone to share.

There are block elements and line elements in HTML. Block elements such as div, p, etc., have their child elements arranged vertically, and these elements are displayed as a block of content; in contrast, elements such as span, strong, etc. are called inline elements, and their content is displayed in the line, that is Scale horizontally.

All elements written in HTML will be loaded into the document flow. Simply put, the document flow is equivalent to a container. All elements in HTML are arranged from top to bottom and from left to right. The order is loaded into the document stream, and then when the web page is rendered, the elements are displayed in the web page one by one according to the order in the document stream. Therefore, elements in the document flow are drawn based on relative positions. However, not all elements will be put into the document flow, such as when the position is absolute, fixed, etc.

Now let’s officially talk about the position attribute. The position attribute has a total of 4 values, namely relative, absolute, fixed and static:

static: This is the default value of position. The static element will appear in the normal document flow and be drawn according to the annoying rules. ;

relative: Elements whose position is relative will still appear in the document flow. Elements set to relative also hope to make some fine-tuning based on the normal display position. For example, "left: 20px" means to indent 20 pixels on the left based on the normal display position;

Absolute: Elements with absolute position will be deleted from the document flow, and the drawing of absolute elements will no longer be normal. Position is displayed, but its first parent element whose position is not static is used as the positioning range, and then positioned according to attributes such as left and right.

Fixed: The positioning rules for elements with position fixed are more absolutely similar, except that the positioning range of fixed elements is no longer the parent element but the entire window. Therefore, an element set to fixed will not change its position relative to the browser window when the user scrolls through the web page.

Okay, the basic definition has been explained clearly. Now let’s talk about the specific usage based on the blogger’s own practice. The effect the blogger wants to achieve is as follows:

That is, there is a button in the lower right corner of a picture. According to the knowledge explained above, there should be two div elements here, one of which is the parent element of the other:

<div class="background_img" >    <img src="***" />    <div class="btn"><input type="button" /></div></div>
Since the
with class btn must be relative to the parent The element is positioned, so its position is absolute, and the position is set through bottom and right:

div.btn{position:absolute;right:10px;bottom:10px;}
For the
element with class background_img, its position The element cannot be the default static, so just set it to relative:

div.background_img{position:relative;}
With just a few lines, this effect is achieved. Readers can try it themselves.

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