search
HomeWeb Front-endCSS TutorialDetailed explanation of the advanced css background-attachment property

This article explains the advanced css background-attachment attribute in detail

The premise is to define the background-image attribute, and then use background-attachment to indicate that the position of the background image is fixed to the view Orally, it still 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:inherits , 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. When the content moves, the background image also moves. The border attached to the element.

详解css background-attachment属性进阶

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.

详解css background-attachment属性进阶

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 content of the element itself 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>

详解css background-attachment属性进阶

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 move with the content.

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 id="下拉看效果">下拉看效果:</h1>
</body>

详解css background-attachment属性进阶

Or look at mozilla’s demo.

I want to emphasize my opinion here:

Set background-attachment: fixed to the background image of any element; 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.

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;
}


The above is the detailed content of Detailed explanation of the advanced css background-attachment property. For more information, please follow other related articles on the PHP Chinese website!

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
What Are Design Tokens?What Are Design Tokens?Apr 22, 2025 am 09:44 AM

I’ve been hearing a lot about design tokens lately, and although I’ve never had to work on a project that’s needed them, I think they’re super interesting and

An Illustrated (and Musical) Guide to Map, Reduce, and Filter Array MethodsAn Illustrated (and Musical) Guide to Map, Reduce, and Filter Array MethodsApr 22, 2025 am 09:41 AM

Map, reduce, and filter are three very useful array methods in JavaScript that give developers a ton of power in a short amount of space. Let’s jump right

Advanced Tooling for Web ComponentsAdvanced Tooling for Web ComponentsApr 22, 2025 am 09:37 AM

Over the course of the last four articles in this five-part series, we’ve taken a broad look at the technologies that make up the Web Components standards.

A Website is a Car and Not a BookA Website is a Car and Not a BookApr 22, 2025 am 09:36 AM

I’ve been wondering for a good long while why it feels like web design and development isn’t respected as much as native app development, and why the

Case Study: Combining Cutting-Edge CSS Features Into a 'Course Navigation” ComponentCase Study: Combining Cutting-Edge CSS Features Into a 'Course Navigation” ComponentApr 22, 2025 am 09:34 AM

Having been tasked with creating a UI component for navigating the content of an online course, Daniel found himself neck-deep in a pool of new CSS features that he wound up using on the project.

Better Than NativeBetter Than NativeApr 22, 2025 am 09:32 AM

Andy Bell wrote up his thoughts about the whole web versus native app debate which I think is super interesting. It was hard to make it through the post

Quick Reminder That :is() and :where() Are Basically the Same With One Key DifferenceQuick Reminder That :is() and :where() Are Basically the Same With One Key DifferenceApr 22, 2025 am 09:29 AM

I've seen a handful of recent posts talking about the utility of the :is() relational pseudo-selector. No need to delve into the details other than to say it

Inline SVG... CachedInline SVG... CachedApr 22, 2025 am 09:21 AM

I wrote that using inline icons make for the best icon system. I still think that's true. It's the easiest possible way to drop an icon onto a

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools