This time I will bring you the advanced usage method of cssbackground-attachment, use the background-attachment of cssWhat are the precautions, the following is a practical case, let’s take a look one time.
The premise is to define the background-image attribute, and then use background-attachment to indicate whether the position of the background image is fixed to the viewport or moves with the containing block. It can be simply understood as defining how the background image moves along the scroll axis.
Value:
scroll: Default value, the background image is fixed relative to the element, and the background moves as the page scrolls, that is, the background and content are bound.
fixed: The background image is fixed relative to the viewport, so the background does not move as the page scrolls, which is equivalent to the background being set on the body.
local: The background image is fixed relative to the element content,
inhert: Inherited, nothing to say.
This attribute can be applied to any element.
1. scroll [Background Image Scroll]
Set background-attachment:scroll, the background image is fixed relative to the element itself, and the background image also moves when the content moves. The border attached to the element.
local
Note:
For scroll, the background generally scrolls with the content, but there is an exception.
For scrollable elements (elements set to overflow:scroll). When background-attachment is set to scroll, the background image will not scroll as the element content scrolls.
2. local [scrolling element background image scrolling]
For elements that can be scrolled (elements set to overflow:scroll), set background-attachment:local, the background will scroll as the content scrolls.
Because the background image is positioned relative to the element's own content and is initially fixed, the background image scrolls with the content after the scroll bar appears on the element.
<style> p{ width: 200px; height: 350px; border: 1px solid red; background-image: url(img/img_tree.png); background-repeat: no-repeat; background-attachment: local; overflow: scroll; line-height: 1.5; } </style> <body> <p> 1内容超出会出现滚动条 2内容超出会出现滚动条 3内容超出会出现滚动条 4内容超出会出现滚动条 5内容超出会出现滚动条 6内容超出会出现滚动条 7内容超出会出现滚动条 8内容超出会出现滚动条 9内容超出会出现滚动条 10内容超出会出现滚动条 11内容超出会出现滚动条 12内容超出会出现滚动条 13内容超出会出现滚动条 14内容超出会出现滚动条 15内容超出会出现滚动条 16内容超出会出现滚动条 17内容超出会出现滚动条 18内容超出会出现滚动条 19内容超出会出现滚动条 20内容超出会出现滚动条 </p> </body>
3. Fixed: [Background image is still] The background image is fixed relative to the viewport. Even if the element has a scroll bar, the background image will not follow. Content moves.
fixed usage is as follows:
<style> body{ background-image: url(img/cartooncat.png); background-position: bottom left; background-attachment: fixed; background-repeat: no-repeat; height: 1000px; } </style> </head> <body> <h1>下拉看效果:</h1> </body>
Or look at mozilla’s demo.
I want to emphasize my opinion here:
Set background-attachment: fixed; the effect is the same, relative to the viewport, because a web page There is only one viewport, and the background has nothing to do with the element. The only thing that matters is that if the element is not visible, the background image is not visible.
And what is this viewport? Here is an article recommended "Details of Pixels and Browser Viewports"
4. Multiple background images background-attachment You can also set background-attachment for multiple background images
body { background-image: url("img1.png"), url("img2.png"); background-attachment: scroll, fixed; }
5. Resource links
w3c background-attachment
Details of pixels and browser viewports
a table of two viewports
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!
Recommended reading:
Detailed explanation of the use of background-attachment in CSS
Bootstrap implementation price list
Detailed explanation of the use of px, em and rem in css
The above is the detailed content of Advanced usage of css background-attachment. For more information, please follow other related articles on the PHP Chinese website!