배경은 CSS의 중요한 부분이자 알아야 할 CSS의 기본 지식 중 하나입니다. 이 기사에서는 background-attachment 등과 같은 속성을 포함하여 CSS 배경(Background)의 기본 사용법을 다룰 것입니다. 또한 CSS3(4 포함)의 배경(Background)뿐만 아니라 배경(Background)에 대한 몇 가지 일반적인 기술도 소개합니다. 새로운 배경 속성).
Background in css2
Overview
CSS2에는 5가지 주요 배경 속성이 있습니다.
* background-color: 채워진 배경의 색상을 지정합니다.
* background-image: 배경 이미지로 참조 이미지.
* background-position: 요소의 배경 이미지 위치를 지정합니다.
* background-repeat: 배경 이미지를 반복할지 여부를 결정합니다.
* background-attachment: 배경 이미지가 페이지와 함께 스크롤되는지 여부를 결정합니다.
이러한 속성은 모두 하나의 축약된 속성인 배경으로 결합될 수 있습니다. 주목해야 할 한 가지 중요한 점은 배경이 패딩 및 테두리를 포함하여 요소의 모든 콘텐츠 영역을 차지하지만 요소의 여백은 포함하지 않는다는 것입니다. Firefox, Safari, Opera 및 IE8에서는 잘 작동하지만 IE6 및 IE7에서는 배경에 테두리가 포함되지 않습니다.
기본 속성
Background-color(배경색)
background-color 속성은 배경을 단색으로 채워줍니다. 이 색상을 지정하는 방법은 여러 가지가 있으며 다음 방법은 모두 동일한 결과를 제공합니다.
background-color: blue; background-color: rgb(0, 0, 255); background-color: #0000ff;
배경색을 투명하게 설정하면 그 아래에 있는 요소가 표시됩니다.
背景图(background-image)
background-image 属性允许指定一个图片展示在背景中。可以和 background-color 连用,因此如果图片不重复地话,图片覆盖不到地地方都会被背景色填充。代码很简单,只需要记住,路径是相对于样式表的,因此以下的代码中,图片和样式表是在同一个目录中的。
background-image: url(image.jpg);
但是如果图片在一个名为 images 的子目录中,就应该是:
background-image: url(images/image.jpg);
糖伴西红柿:使用 ../ 表示上一级目录,比如 background-image: url(../images/image.jpg); 表示图片位于样式表的上级目录中的 images 子目录中。有点绕,不过这个大家应该都知道了,我就不详说了。前端观察 版权所有,转载请保留链接。
背景平铺(background-repeat)
设置背景图片时,默认把图片在水平和垂直方向平铺以铺满整个元素。这也许是你需要的,但是有时会希望图片只出现一次,或者只在一个方向平铺。以下为可能的设置值和结果:
background-repeat: repeat; background-repeat: no-repeat; background-repeat: repeat-x; background-repeat: repeat-y; background-repeat: inherit;
背景定位(background-position)
background-position 属性用来控制背景图片在元素中的位置。技巧是,实际上指定的是图片左上角相对于元素左上角的位置。
下面的例子中,设置了一个背景图片并且用 background-position 属性来控制它的位置,同时也设置了 background-repeat 为 no-repeat。计量单位是像素。第一个数字表示 x 轴(水平)位置,第二个是 y 轴(垂直) 位置。
background-position: 0 0; background-position: 75px 0; background-position: -75px 0; background-position: 0 100px;
background-position 属性可以用其它数值,关键词和百分比来指定,这比较有用,尤其是在元素尺寸不是用像素设置时。
关键词是不用解释的。x 轴上:
* left * center * right
y 轴上:
* top * center * bottom
顺序方面和使用像素值时的顺序几乎一样,首先是 x 轴,其次是 y 轴,像这样:
background-position: top right;
使用百分数时也类似。需要主要的是,使用百分数时,浏览器是以元素的百分比数值来设置图片的位置的。看例子就好理解了。假设设定如下:
background-position: 100% 50%;
This goes 100% of the way across the image (i.e. the very right-hand edge) and 100% of the way across the element (remember, the starting point is always the top-left corner), and the two line up there. It then goes 50% of the way down the image and 50% of the way down the element to line up there. The result is that the image is aligned to the right of the element and exactly half-way down it.
糖伴西红柿:这一段没想到合适的翻译,保留原文,意译。前端观察 版权所有,转载请保留链接。
update: 感谢天涯的指教,这段搞明白了。使用百分数定位时,其实是将背景图片的百分比指定的位置和元素的百分比位置对齐。也就是说,百分数定位是改变了背景图和元素的对齐基点。不再像使用像素和关键词定位时,使用背景图和元素的左上角为对齐基点。例如上例的 background-position: 100% 50%; 就是将背景图片的 100%(right) 50%(center) 这个点,和元素的 100%(right) 50%(center) 这个点对齐。
这再一次说明了,我们一直认为已经掌握的简单的东西,其实还有我们有限的认知之外的知识。
注意原点总是左上角,最终的效果是笑脸图片被定位在元素的最右边,离元素顶部是元素的一半,效果和 background-position: right center; 一样。
背景附着
background-attachment 属性决定用户滚动页面时图片的状态。三个可用属性为 scroll(滚动),fixed(固定) 和 inherit(继承)。inherit 单纯地指定元素继承他的父元素的 background-attachment 属性。
为了正确地理解 background-attachment,首先需要明白页面(page)和视口(view port)是如何协作地。视口(view port)是浏览器显示网页的部分(就是去掉工具栏的浏览器)。视口(view port)的位置固定,不变动。
当向下滚动网页时,视口(view port)是不动的,而页面的内容向上滚动。看起来貌似视口(view port)向页面下方滚动了。如果设置 background-attachment: scroll,就设置了当元素滚动时,元素背景也必需随着滚动。简而言之,背景是紧贴元素的。这是 background-attachment 默认值。
用一个例子来更清楚地描述下:
background-image: url(test-image.jpg); background-position: 0 0; background-repeat: no-repeat; background-attachment: scroll;
当向下滚动页面时,背景向上滚动直至消失。
但是当设置 background-attachment 为 fixed 时,当页面向下滚动时,背景要待在它原来的位置(相对于浏览器来说)。也就是不随元素滚动。
用另一个例子描述下:
background-image: url(test-image.jpg); background-position: 0 100%; background-repeat: no-repeat; background-attachment: fixed;
页面已经向下滚动了,但是图像仍然保持可见。
需要重视的一点是背景图只能出现在它父元素能达到的区域。即使图片是相对于视口(view port)定位地,如果它的父元素不可见,图片就会消失。参见下面的例子。此例中,图片位于视口(view port)的左下方,但是只有元素内的图片部分是可见的。
background-image: url(test-image.jpg); background-position: 0 100%; background-repeat: no-repeat; background-attachment: fixed;
因为图片开始在元素之外,一部分图片被切除了。
背景的简写属性
可以把背景的各个属性合为一行,而不用每次都单独把他们写出来。格式如下:
background: <color> <image> <position> <attachment> <repeat>
例如,下面的声明
background-color: transparent; background-image: url(image.jpg); background-position: 50% 0 ; background-attachment: scroll; background-repeat: repeat-y;
可以合为单独一行:
background: transparent url(image.jpg) 50% 0 scroll repeat-y;
而且不需要指定每一个值。如果省略值地话,就使用属性地默认值。例如,上面那行和下面这个效果一样:
background: url(image.jpg) 50% 0 repeat-y;
背景的一般用法
除了可以用来使元素更加优雅这类显然的用法之外,背景也可以用于其它的目的。
仿栏
当使用 css 的 float 属性来定位布局元素时,要确保两栏或多栏有相同的长度是比较困难的。如果长度不同,其中一栏的背景会比另外的短,这会破坏整个设计。
仿栏是个非常简单的背景技巧,这个技巧最早发表在A List Apart 。思路很简单:不再给每列单独设置背景,而是给各列的父元素设置一个背景图。所有栏的设计都包含在这张图片之中。
文本替换
在网页上,对于字体的选择是相当有限的。可以使用 sIFR 之类的工具来定制字体,但是这需要用户启用 JavaScript 。一个适用于任意浏览器的简单方法是,用想用的字体来做一张文本图片,并用这张图片作为背景。这样,文本依然出现在文档标记中以供搜索引擎检索和屏幕浏览器识别,但是在浏览器中就会显示首选的字体。
例如,HTML 标记可能是这样的:
<h3 id="Blogroll">Blogroll</h3>
假如有一个 200 乘 75 的图片,上面有更好看的字体,就可以用如下方式来替换文本:
h3.blogroll { width: 200px; height: 75px; background:url(blogroll-text.jpg) 0 0 no-repeat; text-indent: -9999px; }
简单的圆点
无需列表中的圆点看起来很难看。不用再处理所有不同的 list-style 属性,只需要简单地把他们隐藏并用背景图代替就可以了。因为图片可以随意选择,这些圆点就可以看起来更漂亮。
下面,我们把一个无需列表改造成有圆滑圆点的:
ul { list-style: none; } ul li { padding-left: 40px; background: url(bulletpoint.jpg) 0 0 no-repeat; }
CSS3 中的背景
CSS3 中的背景有较多改进。最显著的是多背景图片的选项,同时也增加了4个新属性。
多背景
CSS3 中,可以对一个元素应用一个或多个图片作为背景。代码和 css2 中的一样,只需要用逗号来区别各个图片。第一个声明的图片定位在元素顶部,其它的图片按序在其下排列,例如:
background-image: url(top-image.jpg), url(middle-image.jpg), url(bottom-image.jpg);
新属性:背景修剪(background-clip)
这又把我们带回了文章开始讨论的那个关于边框内图片显示的话题。它被描述为“背景描绘区”。
background-clip 속성은 배경 표시 위치 제어 기능을 향상시키는 데 사용됩니다. 가능한 값은 다음과 같습니다:
* background-clip: border-box;
배경은 테두리 안에 표시됩니다.
* background-clip: padding-box;
배경은 테두리가 아닌 패딩(padding) 안에 표시됩니다.
* background-clip: content-box;
패딩과 테두리가 아닌 콘텐츠 내에서만 배경을 표시합니다.
* background-clip: no-clip;
기본값, 테두리 상자와 동일합니다.
새 속성: background-origin
이 속성은 background-position과 함께 사용됩니다. 배경 위치는 테두리, 패딩 또는 콘텐츠 상자에서 시작하여 계산할 수 있습니다(배경 클립과 유사).
* background-origin: border-box;
테두리를 원점으로 하여 배경 위치 계산을 시작합니다.
* background-origin: padding-box;
내부 패딩을 원점으로 하여 배경 위치 계산을 시작합니다
* 배경 -origin: content- box;
컨텐츠 박스를 원점으로 하여 배경 위치 계산을 시작합니다
background-clip과 background-origin의 차이점에 대한 설명은 CSS3.info를 참조하세요
새 속성: 배경 크기( 배경 크기)
배경 크기는 배경 이미지의 크기를 조정하는 데 사용됩니다. 여러 가지 가능한 값이 있습니다:
* background-size: contain;
요소 크기에 맞게 이미지 축소(픽셀 종횡비 유지)
* background-size: Cover;
이미지를 확장하여 요소 채우기(픽셀 종횡비 유지) 픽셀 종횡비) 종횡비)
* background-size: 100px 100px;
이미지를 지정된 크기로 조정합니다
* background-size: 50% 100%;
이미지를 지정된 크기로 조정합니다. 백분율은 포함 요소의 크기를 기준으로 합니다.
CSS3 규칙 웹사이트에서 몇 가지 예를 살펴볼 수 있습니다.
새 속성: (Background-break)
CSS3에서는 요소를 여러 개의 독립적인 상자로 나눌 수 있습니다(예: 인라인 요소를 여러 줄에 걸쳐 구성). background-break 속성은 이러한 다양한 상자에 배경이 표시되는 방식을 제어하는 데 사용됩니다.
가능한 값은 다음과 같습니다:
* 배경 중단: 연속
기본값. 상자 사이의 거리를 무시합니다(즉, 요소가 여러 개의 상자로 나누어지지 않고 여전히 전체인 것처럼 보입니다)
* 배경 나누기: 경계 상자;
상자 사이의 거리 계산
* 배경 나누기: 각각 -box;
각 상자마다 배경을 개별적으로 다시 그립니다
背景色(background-color)的改进
background-color 在 css3 中有了稍许改进。除了设置背景颜色之外,如果元素底层的背景图不可用,还可以设置一个“回退色”。
通过在回退色之前增加一个斜杠(/)来实现,例如:
background-color: green / blue;
此例中,背景色应该是绿色(green)。然而,如果底层背景图不能使用的话,背景色就是蓝色而不是绿色。如果在斜杠前不指定颜色,默认为透明(transparent)。
背景平铺(background-repeat)的改进
CSS2中当图片平铺时,会被元素在末端截断。CSS3 引入了两个属性来修正这个问题:
* space: 应用同等数量的空白到图片之间,直到填满整个元素
* round: 缩小图片直到正好平铺满元素
关于 background-repeat: space; 的一个例子,可以在 CSS3 规则网站看到。
背景附着(background-attachment)的改进
background-attachment 属性增加了一个新值:local。这是用来配合可以滚动的元素的(设置为 overflow: scroll; 的元素)。当 background-attachment 设置为滚动(scroll)时,背景图不会随元素内容的滚动而滚动。
设置为 background-attachment :local; 时,背景图会随内容的滚动而滚动。
总结
总结一下,css 中关于背景有许多需要知道的知识。但是一旦把这些知识融会贯通了,这些技术和命名约定就变得非常有意义而且很快就会成为潜意识行为了。
如果刚接触 css,主要不断联系就可以较快地掌握背景的要点了。如果是老手,我希望你可以和我一样期待 css3
위 내용은 CSS의 배경 이미지 설정 예에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

프론트 엔드 개발의 땅에서 엄청나게 논란의 여지가있는 주제에 오신 것을 환영합니다! 이 글을 읽는 대다수가 당신의 박람회를 만났을 것입니다.

당신은 사이드 프로젝트에서 잠시 일합니다. 당신은 그것을 꽤 멋지다고 생각합니다! 당신은 그것을 세상으로 풀기로 결정했습니다. 그리고… 잘 어울립니다. 아니면 잘되지 않습니다. 기다리다,

좋아요와 소셜 통계의 세계에서 리뷰는 피드백을 남기는 데 매우 중요한 방법입니다. 사용자는 종종 전에 다른 사람의 의견을 알고 싶어합니다.

Clip-Path는 우리가 일반적으로 알고있는 CSS 속성 중 하나이지만 어떤 이유로 든 종종 도달하지 못할 수도 있습니다. 의미가 약간 위협적입니다

나는 대부분의 사람들이 이미 개츠비에 대해 들었다고 가정하고 있으며, 적어도 그것이 기본적으로 반응 사이트의 정적 사이트 생성기라는 것을 느슨하게 알고 있습니다. 일반적으로

때때로, 토론은 타이핑 된 JavaScript의 가치에 대해 불쾌합니다. "더 많은 테스트를 작성하십시오!" 상대방을 외칩니다. "단위 테스트를 유형으로 교체하십시오!"


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

Dreamweaver Mac版
시각적 웹 개발 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기
