목차
박스 모델(CSS 포커스)
2. 박스 모델(Box Model)
3.상자 테두리(테두리)
3.1 포괄적인 테두리 설정
3.2 상자 테두리 작성 방법 요약표
3.3 表格的细线边框
4. 内边距(padding)
4.1 内边距:
5.2 设置:
4.4 内盒尺寸计算(元素实际大小)
4.5 内边距产生的问题
4.6 padding不影响盒子大小情况
5. 外边距(margin)
5.1 外边距
5.3 块级盒子水平居中
5.4 文字居中和盒子居中区别
5.5 插入图片和背景图片区别
5.6 清除元素的默认内外边距(重要)
5.7 外边距合并
(1). 相邻块元素垂直外边距的合并
(2). 嵌套块元素垂直外边距的合并(塌陷)
6. 盒子模型布局稳定性
去掉列表默认的样式
今日总结
拓展@
1.圆角边框(CSS3)
2. 盒子阴影(CSS3)
CSS书写规范
空格规范
选择器规范
属性规范
웹 프론트엔드 CSS 튜토리얼 CSS 상자 크기, 내부 및 외부 여백과 테두리 간의 관계에 대해 이야기해 보겠습니다.

CSS 상자 크기, 내부 및 외부 여백과 테두리 간의 관계에 대해 이야기해 보겠습니다.

Aug 03, 2022 am 11:04 AM
css

이 기사에서는 css에 대한 관련 지식을 제공합니다. 상자 크기와 내부 및 외부 여백 및 테두리 간의 관계에 대한 관련 문제를 소개합니다. CSS 학습의 세 가지 핵심은 CSS 상자 모델, 부동 및 위치 지정입니다. 함께 살펴보시고, 모두에게 도움이 되었으면 좋겠습니다.

CSS 상자 크기, 내부 및 외부 여백과 테두리 간의 관계에 대해 이야기해 보겠습니다.

(학습 동영상 공유: css 동영상 튜토리얼, html 동영상 튜토리얼)

3-11 상자 크기와 내부 및 외부 여백 및 테두리의 관계

박스 모델(CSS 포커스)

css 세 가지 학습 포인트: CSS 박스 모델, 플로팅, 포지셔닝

주제 아이디어:
CSS 상자 크기, 내부 및 외부 여백과 테두리 간의 관계에 대해 이야기해 보겠습니다.

목표:

  • 이해:
    • 박스 모델의 네 부분을 알 수 있습니다.
    • 패딩의 역할과 그 영향을 알 수 있습니다. 상자의 영향
    • 여백 설정 수의 차이가 각각 무엇을 의미하는지 알 수 있음
    • 블록 수준 상자의 중앙 정렬에 필요한 두 가지 조건을 알 수 있음
    • 여백 병합에 대한 솔루션 알 수 있음
  • 응용 프로그램:
    • 테두리 합성 쓰기 방식을 사용하여 요소에 테두리를 추가할 수 있습니다
    • 박스의 실제 크기를 계산할 수 있습니다
    • 박스 모델을 사용하여 모듈 케이스를 레이아웃할 수 있습니다

2. 박스 모델(Box Model)

  • 소위 상자 모델:

    • HTML 페이지의 레이아웃 요소는 콘텐츠를 담는 컨테이너인 직사각형 상자로 간주됩니다.
    • 박스 모델은 요소 콘텐츠, 테두리, 패딩, 여백으로 구성됩니다.
    • 상자 안의 텍스트, 그림 및 기타 요소가 콘텐츠 영역입니다
    • 상자의 두께가 상자의 테두리가 됩니다.
    • 상자 콘텐츠와 테두리 사이의 거리가 내부 여백입니다(셀 패딩과 유사). 셀)
    • 상자 사이의 거리는 여백입니다(cellspacing과 유사)

표준 상자 모델

CSS 상자 크기, 내부 및 외부 여백과 테두리 간의 관계에 대해 이야기해 보겠습니다.

3.상자 테두리(테두리)

  • 구문: ​​
border : border-width || border-style || border-color
로그인 후 복사
로그인 후 복사
Attributes Function
border-width 테두리 두께를 정의합니다. 단위는 px
border-style 테두리 스타일
border- color 테두리 color
  • 테두리 스타일:
    • none: 테두리가 없으며 모든 테두리의 너비가 무시됩니다(기본값)
    • solid: 테두리가 단일 실선입니다(가장 일반적으로 사용됨)
    • 점선 : 테두리는 점선입니다
    • dotted: 테두리는 점선입니다

3.1 포괄적인 테두리 설정

border : border-width || border-style || border-color
로그인 후 복사
로그인 후 복사

예:

 border: 1px solid red;  没有顺序
로그인 후 복사

3.2 상자 테두리 작성 방법 요약표

많은 경우에 우리는 4개의 테두리를 지정할 필요가 없습니다. 4개의 테두리를 별도로 지정할 수 있습니다.

상단 테두리 하단 테두리 왼쪽 테두리 오른쪽 테두리
border-top-style:style; border-bottom-style:style; border-left-style :style; border-right-style:style;
border-top-width:width; border-bottom-width:width; border-left-width:width; border-right -너비:너비;
border-top-color:색상; border-bottom-color:색상; border-left-color:color; border-right-color:color;
border-top: 너비 스타일 색상; border-left: 너비 스타일 색상; border-right: 너비 스타일 색상;

3.3 表格的细线边框

  • 通过表格的cellspacing="0",将单元格与单元格之间的距离设置为0,

  • 但是两个单元格之间的边框会出现重叠,从而使边框变粗

  • 通过css属性:

    table{ border-collapse:collapse; }
    로그인 후 복사
    • collapse 单词是合并的意思
    • border-collapse:collapse; 表示相邻边框合并在一起。
<style>
	table {
		width: 500px;
		height: 300px;
		border: 1px solid red;
	}
	td {
		border: 1px solid red;
		text-align: center;
	}
	table, td {
		border-collapse: collapse;  /*合并相邻边框*/
	}</style>
로그인 후 복사

CSS 상자 크기, 내부 및 외부 여백과 테두리 간의 관계에 대해 이야기해 보겠습니다.

4. 内边距(padding)

4.1 内边距:

padding属性用于设置内边距。 是指 边框与内容之间的距离。

4.2 设置

属性 作用
padding-left 左内边距
padding-right 右内边距
padding-top 上内边距
padding-bottom 下内边距

当我们给盒子指定padding值之后, 发生了2件事情:

  • 内容和边框 有了距离,添加了内边距。

  • 盒子会变大了。

注意: 后面跟几个数值表示的意思是不一样的。

我们分开写有点麻烦,我们可以不可以简写呢?

值的个数 表达意思
1个值 padding:上下左右内边距;
2个值 padding: 上下内边距 左右内边距 ;
3个值 padding:上内边距 左右内边距 下内边距;
4个值 padding: 上内边距 右内边距 下内边距 左内边距 ;

练一练:

请写出如下内边距:

  1. 要求盒子有一个左边内边距是 5像素
  2. 要求简写的形式写出 一个盒子上下是 25像素 左右是15像素。
  3. 要求简写的形式写出 一个盒子 上内边距是 12像素 下内边距是 0 左内边距是 25像素 右内边距是 10像素

4.4 内盒尺寸计算(元素实际大小)

  • 盒子的实际的大小 = 内容的宽度和高度 + 内边距 + 边框

4.5 内边距产生的问题

  • 问题

    会撑大原来的盒子

  • 解决:

    通过给设置了宽高的盒子,减去相应的内边距的值,维持盒子原有的大小

练一练

  1. 一个盒子宽度为100, padding为 10, 边框为5像素,问这个盒子实际的宽度的是()
  •  130

    100 + 20 + 10

  1. 关于根据下列代码计算 盒子宽高下列说法正确的是()
div {

		width: 200px;

         height: 200px;

		border: 1px solid #000000;

		border-top: 5px solid blue;

		padding: 50px;

		padding-left: 100px;

		}
로그인 후 복사
  • 宽度为352px 高度为306px

w 200 + 150 + 2 = 352

h 200 + 100 + 6 = 306

4.6 padding不影响盒子大小情况

如果没有给一个盒子指定宽度, 此时,如果给这个盒子指定padding, 则不会撑开盒子。

5. 外边距(margin)

5.1 外边距

margin属性用于设置外边距。 margin就是控制盒子和盒子之间的距离

5.2 设置:

属性 作用
margin-left 左外边距
margin-right 右外边距
margin-top 上外边距
margin-bottom 下外边距

margin值的简写 (复合写法)代表意思 跟 padding 完全相同。

5.3 块级盒子水平居中

  • 可以让一个块级盒子实现水平居中必须:
    • 盒子必须指定了宽度(width)
    • 然后就给左右的外边距都设置为auto

实际工作中常用这种方式进行网页布局,示例代码如下:

.header{ width:960px; margin:0 auto;}
로그인 후 복사

常见的写法,以下下三种都可以。

  • margin-left: auto; margin-right: auto;
  • margin: auto;
  • margin: 0 auto;

5.4 文字居中和盒子居中区别

  • 盒子内的文字水平居中是 text-align: center, 而且还可以让 行内元素和行内块居中对齐

  • 块级盒子水平居中 左右margin 改为 auto

text-align: center; /*  文字 行内元素 行内块元素水平居中 */margin: 10px auto;  /* 块级盒子水平居中  左右margin 改为 auto 就阔以了 上下margin都可以 */
로그인 후 복사

5.5 插入图片和背景图片区别

  • 插入图片 我们用的最多 比如产品展示类 移动位置只能靠盒模型 padding margin

  • 背景图片我们一般用于小图标背景 或者 超大背景图片 背景图片 只能通过 background-position

 img {  
		width: 200px;/* 插入图片更改大小 width 和 height */
		height: 210px;
		margin-top: 30px;  /* 插入图片更改位置 可以用margin 或padding  盒模型 */
		margin-left: 50px; /* 插入当图片也是一个盒子 */
	}

 div {
		width: 400px;
		height: 400px;
		border: 1px solid purple;
		background: #fff url(images/sun.jpg) no-repeat;
		background-position: 30px 50px; /* 背景图片更改位置 我用 background-position */
	}
로그인 후 복사

5.6 清除元素的默认内外边距(重要)

CSS 상자 크기, 내부 및 외부 여백과 테두리 간의 관계에 대해 이야기해 보겠습니다.

为了更灵活方便地控制网页中的元素,制作网页时,我们需要将元素的默认内外边距清除

代码:

* {
   padding:0;         /* 清除内边距 */
   margin:0;          /* 清除外边距 */}
로그인 후 복사

注意:

  • 行内元素为了照顾兼容性, 尽量只设置左右内外边距, 不要设置上下内外边距。

5.7 外边距合并

使用margin定义块元素的垂直外边距时,可能会出现外边距的合并。

(1). 相邻块元素垂直外边距的合并

  • 当上下相邻的两个块元素相遇时,如果上面的元素有下外边距margin-bottom
  • 下面的元素有上外边距margin-top,则他们之间的垂直间距不是margin-bottom与margin-top之和
  • 取两个值中的较大者这种现象被称为相邻块元素垂直外边距的合并(也称外边距塌陷)。
    CSS 상자 크기, 내부 및 외부 여백과 테두리 간의 관계에 대해 이야기해 보겠습니다.

解决方案:尽量给只给一个盒子添加margin值

(2). 嵌套块元素垂直外边距的合并(塌陷)

  • 对于两个嵌套关系的块元素,如果父元素没有上内边距及边框
  • 父元素的上外边距会与子元素的上外边距发生合并
  • 合并后的外边距为两者中的较大者
    CSS 상자 크기, 내부 및 외부 여백과 테두리 간의 관계에 대해 이야기해 보겠습니다.

解决方案:

  1. 可以为父元素定义上边框。
  2. 可以为父元素定义上内边距
  3. 可以为父元素添加overflow:hidden。

还有其他方法,比如浮动、固定、绝对定位的盒子不会有问题,后面咱们再总结。。。

6. 盒子模型布局稳定性

  • 学习完盒子模型,内边距和外边距,什么情况下用内边距,什么情况下用外边距?

    • 大部分情况下是可以混用的。 就是说,你用内边距也可以,用外边距也可以。 你觉得哪个方便,就用哪个。

我们根据稳定性来分,建议如下:

按照 优先使用 宽度 (width) 其次 使用内边距(padding) 再次 外边距(margin)。

  width >  padding  >   margin
로그인 후 복사
  • 原因:
    • margin 会有外边距合并 还有 ie6下面margin 加倍的bug(讨厌)所以最后使用。
    • padding 会影响盒子大小, 需要进行加减计算(麻烦) 其次使用。
    • width 没有问题(嗨皮)我们经常使用宽度剩余法 高度剩余法来做。

去掉列表默认的样式

无序和有序列表前面默认的列表样式,在不同浏览器显示效果不一样,而且也比较难看,所以,我们一般上来就直接去掉这些列表样式就行了。 代码如下

li { list-style: none; }
로그인 후 복사

今日总结

CSS 상자 크기, 내부 및 외부 여백과 테두리 간의 관계에 대해 이야기해 보겠습니다.

拓展@

以下我们讲的CSS3部分新属性, 但是我们遵循的原则是,以下内容,不会影响我们页面布局, 只是样式更好看了而已。

1.圆角边框(CSS3)

CSS 상자 크기, 내부 및 외부 여백과 테두리 간의 관계에 대해 이야기해 보겠습니다.

  • 语法:
border-radius:length;
로그인 후 복사
  • 其中每一个值可以为 数值或百分比的形式。

  • 技巧: 让一个正方形 变成圆圈

    border-radius: 50%;
    로그인 후 복사

CSS 상자 크기, 내부 및 외부 여백과 테두리 간의 관계에 대해 이야기해 보겠습니다.

  • 以上效果图矩形的圆角, 就不要用 百分比了,因为百分比会是表示高度和宽度的一半。
  • 而我们这里矩形就只用 用 高度的一半就好了。精确单位。

2. 盒子阴影(CSS3)

  • 语法:
box-shadow:水平阴影 垂直阴影 模糊距离(虚实)  阴影尺寸(影子大小)  阴影颜色  内/外阴影;
로그인 후 복사

CSS 상자 크기, 내부 및 외부 여백과 테두리 간의 관계에 대해 이야기해 보겠습니다.

  • 前两个属性是必须写的。其余的可以省略。
  • 外阴影 (outset) 是默认的 但是不能写 想要内阴影可以写 inset
div {
			width: 200px;
			height: 200px;
			border: 10px solid red;
			/* box-shadow: 5px 5px 3px 4px rgba(0, 0, 0, .4);  */
			/* box-shadow:水平位置 垂直位置 模糊距离 阴影尺寸(影子大小) 阴影颜色  内/外阴影; */
			box-shadow: 0 15px 30px  rgba(0, 0, 0, .4);
			}
로그인 후 복사

CSS书写规范

开始就形成良好的书写规范,是你专业的开始。

空格规范

【强制】 选择器 与 { 之间必须包含空格。

示例:

.selector {}
로그인 후 복사

【强制】 属性名 与之后的 : 之间不允许包含空格, : 与 属性值 之间必须包含空格。

示例:

font-size: 12px;
로그인 후 복사

选择器规范

【强制】 并集选择器,每个选择器声明必须独占一行。

示例:

/* good */
.post,
.page,
.comment {
    line-height: 1.5;
}


/* bad */
.post, .page, .comment {
    line-height: 1.5;
}
로그인 후 복사

【建议】 一般情况情况下,选择器的嵌套层级应不大于 3 级,位置靠后的限定条件应尽可能精确。

示例:

/* good */
#username input {}
.comment .avatar {}

/* bad */
.page .header .login  input {}
.comment div * {}
로그인 후 복사

属性规范

【强制】 属性定义必须另起一行。

示例:

/* good */.selector {
    margin: 0;
    padding: 0;}/* bad */.selector { margin: 0; padding: 0; }
로그인 후 복사

【强制】 属性定义后必须以分号结尾。

示例:

/* good */.selector {
    margin: 0;}/* bad */.selector {
    margin: 0}
로그인 후 복사

(学习视频分享:css视频教程html视频教程

위 내용은 CSS 상자 크기, 내부 및 외부 여백과 테두리 간의 관계에 대해 이야기해 보겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

부트 스트랩 버튼을 사용하는 방법 부트 스트랩 버튼을 사용하는 방법 Apr 07, 2025 pm 03:09 PM

부트 스트랩 버튼을 사용하는 방법? 부트 스트랩 CSS를 소개하여 버튼 요소를 만들고 부트 스트랩 버튼 클래스를 추가하여 버튼 텍스트를 추가하십시오.

부트 스트랩 크기를 조정하는 방법 부트 스트랩 크기를 조정하는 방법 Apr 07, 2025 pm 03:18 PM

부트 스트랩에서 요소의 크기를 조정하려면 다음을 포함하여 차원 클래스를 사용할 수 있습니다.

부트 스트랩에 분할 라인을 작성하는 방법 부트 스트랩에 분할 라인을 작성하는 방법 Apr 07, 2025 pm 03:12 PM

부트 스트랩 분할 라인을 만드는 두 가지 방법이 있습니다 : 태그를 사용하여 수평 분할 라인이 생성됩니다. CSS 테두리 속성을 사용하여 사용자 정의 스타일 분할 라인을 만듭니다.

부트 스트랩 날짜를 보는 방법 부트 스트랩 날짜를 보는 방법 Apr 07, 2025 pm 03:03 PM

답 : 부트 스트랩의 날짜 선택기 구성 요소를 사용하여 페이지에서 날짜를 볼 수 있습니다. 단계 : 부트 스트랩 프레임 워크를 소개하십시오. HTML에서 날짜 선택기 입력 상자를 만듭니다. 부트 스트랩은 선택기에 스타일을 자동으로 추가합니다. JavaScript를 사용하여 선택한 날짜를 얻으십시오.

부트 스트랩을위한 프레임 워크를 설정하는 방법 부트 스트랩을위한 프레임 워크를 설정하는 방법 Apr 07, 2025 pm 03:27 PM

부트 스트랩 프레임 워크를 설정하려면 다음 단계를 따라야합니다. 1. CDN을 통해 부트 스트랩 파일 참조; 2. 자신의 서버에서 파일을 다운로드하여 호스팅하십시오. 3. HTML에 부트 스트랩 파일을 포함; 4. 필요에 따라 Sass/Less를 컴파일하십시오. 5. 사용자 정의 파일을 가져옵니다 (선택 사항). 설정이 완료되면 Bootstrap의 그리드 시스템, 구성 요소 및 스타일을 사용하여 반응 형 웹 사이트 및 응용 프로그램을 만들 수 있습니다.

부트 스트랩에 사진을 삽입하는 방법 부트 스트랩에 사진을 삽입하는 방법 Apr 07, 2025 pm 03:30 PM

Bootstrap에 이미지를 삽입하는 방법에는 여러 가지가 있습니다. HTML IMG 태그를 사용하여 이미지를 직접 삽입하십시오. 부트 스트랩 이미지 구성 요소를 사용하면 반응 형 이미지와 더 많은 스타일을 제공 할 수 있습니다. 이미지 크기를 설정하고 IMG-Fluid 클래스를 사용하여 이미지를 적응할 수 있도록하십시오. IMG 통과 클래스를 사용하여 테두리를 설정하십시오. 둥근 모서리를 설정하고 IMG 라운드 클래스를 사용하십시오. 그림자를 설정하고 그림자 클래스를 사용하십시오. CSS 스타일을 사용하여 이미지를 조정하고 배치하십시오. 배경 이미지를 사용하여 배경 이미지 CSS 속성을 사용하십시오.

부트 스트랩 날짜를 확인하는 방법 부트 스트랩 날짜를 확인하는 방법 Apr 07, 2025 pm 03:06 PM

부트 스트랩의 날짜를 확인하려면 다음 단계를 따르십시오. 필요한 스크립트와 스타일을 소개하십시오. 날짜 선택기 구성 요소를 초기화합니다. 검증을 활성화하려면 데이터 BV 날짜 속성을 설정합니다. 검증 규칙 (예 : 날짜 형식, 오류 메시지 등) 구성; 부트 스트랩 검증 프레임 워크를 통합하고 양식이 제출 된 경우 날짜 입력을 자동으로 확인하십시오.

Vue에서 부트 스트랩을 사용하는 방법 Vue에서 부트 스트랩을 사용하는 방법 Apr 07, 2025 pm 11:33 PM

vue.js에서 bootstrap 사용은 5 단계로 나뉩니다 : Bootstrap 설치. main.js.의 부트 스트랩 가져 오기 부트 스트랩 구성 요소를 템플릿에서 직접 사용하십시오. 선택 사항 : 사용자 정의 스타일. 선택 사항 : 플러그인을 사용하십시오.

See all articles