목차
代码和效果演示
设置自身大小
设置padding 内边距
设置border 边框
设置margin 外边距
注意事项
属性详写
display
附录:
웹 프론트엔드 HTML 튜토리얼 2016.3.14CSS 盒模型_第四天_html/css_WEB-ITnose

2016.3.14CSS 盒模型_第四天_html/css_WEB-ITnose

Jun 24, 2016 am 11:24 AM

首先对于之前的拖更表示抱歉,因公派,前往上海,所以耽误了几天,以后会尽量按时更新.

今天课程主要介绍盒模型的基本概念,同时告诉大家,盒模型具体元素的构成。在最后面会介绍一下定位。

今日课程预览

CSS 盒模型 概述

首先大家看到的是什么?

有月饼和月饼盒,对么?

所以,我们今天的课程就叫做“一个月饼盒引发的深思”。

大家首先看到的是什么?

是不是一个盒子,很像我们中秋节的时候包装月饼的月饼盒子,对么?

其中两个月饼盒子之间的距离就是咱们要介绍的–>margin(外边距).

而咱们每个月饼都要有最外层的包装盒,而这个包装盒的厚度,就是咱们的–> border(边框).

那咱们的月饼不可能都是直接挨在一起的,对吧,那每个月饼之间的间距,咱们就叫做–> padding(内边距).

那咱们介绍了月饼盒,咱们的月饼总应该有吧。

对的,咱们月饼的宽度就是 –> width.

高度就是 –> height.

而咱们的月饼就叫做 –> element(元素).

内边距、边框和外边距都是可选的,默认值是零。

但是,许多元素将由用户代理样式表设置外边距和内边距。

可以通过将元素的 margin 和 padding 设置为零来覆盖这些浏览器样式。

这可以分别进行,也可以使用通用选择器对所有元素进行设置:

* {  margin: 0;  padding: 0;}
로그인 후 복사

在 CSS 中,width 和 height 指的是内容区域的宽度和高度。

增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸。

假设框的每个边上有 10 个像素的外边距和 5 个像素的内边距。

如果希望这个元素框达到 100 个像素,就需要将内容的宽度设置为 70 像素,请看下图:

提示:内边距、边框和外边距可以应用于一个元素的所有边,也可以应用于单独的边。

提示:外边距可以是负值,而且在很多情况下都要使用负值的外边距。

代码和效果演示

在网页中,添加一个div标签,并设置class的值

HTML代码:<div class="box_model">    我是一个div哦</div>
로그인 후 복사

设置自身大小

通常class选择器来设置属性值,首先是width(宽)、hegiht(高)、background-color(背景颜色)

CSS代码:.box_model { width: 200px; height: 200px; background-color: cyan;}
로그인 후 복사

效果如下:

上述操作只是添加了一个div标签,并设置了文字、大小和颜色,并没有特殊操作。下面,我们继续:


设置padding 内边距

看上面的图,发现文字紧贴着边框,看着不是特别友好,如果想要添加一些边距,可以使用padding属性,来添加内边距

CSS代码:.box_model { width: 200px; height: 200px; background-color: cyan; /*内边距*/ padding: 20px;}
로그인 후 복사

效果如下:

现在已经实现了文字和边框中间有了20像素的宽度,看着不是那么的紧凑了

注意:我们修改了padding的值,会导致div整体变大,因为padding属于div内部

如果我们希望div还是原来得大小,当我们设置了padding为20px,我们就需要修改width和height,分别减去40,才可以保证div大小不变

设置border 边框

看这样一个色块比较单调,来设置个有颜色的边框

CSS代码:.box_model { width: 200px; height: 200px; background-color: cyan; /*内边距*/ padding: 20px; /*边框*/ border: 50px solid black;}
로그인 후 복사

效果图如下:

当设置了非常变态的50像素的边框之后,看到如下效果。通常,边框不会有那么大的值,1像素足够了

设置了边框的值,div标签的大小也会增加。边框也属于div本身

设置margin 外边距

外边距的主要作用就是设置该标签距离其它标签之间的距离

先来看下我们没有添加外边框代码时候div在浏览器中的样子

大家发现,在div标签的上部和左侧都有一段间距,这段间距是body的间距值(8px),先暂时忽略,不管它
然后我们添加外边距代码

CSS代码: .box_model { width: 200px; height: 200px; background-color: cyan; /*内边距*/ padding: 20px; /*边框*/ border: 50px solid black; /*外边距*/ margin: 50px;}
로그인 후 복사

添加代码之后,效果如下:

现在,div标签距离浏览器的上部和左侧就有很大一段距离了,原因就是我们设置了外边框


注意事项

看下如下情况:

上面的div和下面的div标签,外边距都分别是50px,但是我们可以注意到,上面和下面之间的间距并不是100px,而同样也是50px,这是因为什么呢?

外边距在垂直距离上,并不会相加,而是取较大值。

举个例子: 如果上面的标签设置的外边距为100px,下面的标签这是外边距为80px,那么上下两个元素之间的距离九会为100px,取较大值。

这是两个元素竖直排列,那如果横排呢??

想多了,如果元素横排,那两个标签之间的间距就是两个元素的外边距之和


属性详写

内边距属性

  • padding
  • padding-left
  • padding-top
  • padding-right
  • padding-bottom
  • padding: 20px; 代表上下左右内边距均为20px
    padding: 10px 20px; 代表上下内边距为10px,左右内边距为20px。第一个数字代表上下,第二个代表左右内边距的值。注意中间是空格哦

    边框属性

  • border : 同时设置上下左右的边框相关

  • border-left : 设置左侧边框相关

  • border-left-width : 设置左侧边框厚度
  • border-left-color : 设置左侧边框的颜色
  • border-left-style : 设置左侧边框的样式

  • border-top : 设置上部边框相关

  • border-top-width : 设置上部边框厚度
  • border-top-color : 设置上部边框颜色
  • border-top-style : 设置上部边框样式

  • border-right : 设置右侧边框相关

  • border-right-width : 设置右侧边框厚度
  • border-right-color : 设置右侧边框颜色
  • border-right-style : 设置右侧边框样式

  • border-bottom : 设置下部边框相关

  • border-bottom-width : 设置下部边框厚度
  • border-bottom-color : 设置下部边框颜色
  • border-bottom-style : 设置下部边框样式
  • border: 1px solid red; 代表上下左右边框厚度为1px,样式为solid,颜色为red.
    border-left: 2px double red; 代表设置左侧边框厚度为2px,样式为double,颜色为red.

    外边距属性

  • margin : 可以同时设置上下左右外边距
  • margin-left : 设置左侧外边距
  • margin-top : 设置上部外边距
  • margin-right : 设置右侧外边距
  • margin-bottom : 设置下部外边距
  • margin: 20px; 代表上下左右外边距均为20px
    margin: 10px 20px; 代表上下外边距为10px,左右外边距为20px。第一个数字代表上下,第二个代表左右外边距的值。注意中间是空格哦

    display

    display 属性规定元素应该生成的框的类型。

    这个属性用于定义建立布局时元素生成的显示框类型。

    对于 HTML 等文档类型,如果使用 display 不谨慎会很危险,因为可能违反 HTML 中已经定义的显示层次结构。

    对于 XML,由于 XML 没有内置的这种层次结构,所有 display 是绝对必要的。

    在这里咱们只介绍四个属性。

    *none

    *inline : 行标签,占一小块区域

    *block : 块标签,独占一行,可以设置宽高

    *inline-block :块标签,但是具有一些行标签的属性

    注释:CSS2 中有值 compact 和 marker,不过由于缺乏广泛的支持,已经从 CSS2.1 中去除了。

    附录:

    值 描述
    none 此元素不会被显示。
    block 此元素将显示为块级元素,此元素前后会带有换行符。
    inline 默认。此元素会被显示为内联元素,元素前后没有换行符。
    inline-block 行内块元素。(CSS2.1 新增的值)
    list-item 此元素会作为列表显示。
    run-in 此元素会根据上下文作为块级元素或内联元素显示。
    compact CSS 中有值 compact,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。
    marker CSS 中有值 marker,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。
    table 此元素会作为块级表格来显示(类似 ),表格前后带有换行符。
    inline-table 此元素会作为内联表格来显示(类似 ),表格前后没有换行符。 )。 )。 )。 )。 )。)
    table-row-group 此元素会作为一个或多个行的分组来显示(类似
    table-header-group 此元素会作为一个或多个行的分组来显示(类似
    table-footer-group 此元素会作为一个或多个行的分组来显示(类似
    table-row 此元素会作为一个表格行显示(类似
    table-column-group 此元素会作为一个或多个列的分组来显示(类似
    table-column 此元素会作为一个单元格列显示(类似
    table-cell 此元素会作为一个表格单元格显示(类似
    table-caption 此元素会作为一个表格标题显示(类似
    inherit 规定应该从父元素继承 display 属性的值。
    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 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에서 모든 것을 잠금 해제하는 방법
    3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

    뜨거운 도구

    메모장++7.3.1

    메모장++7.3.1

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

    SublimeText3 중국어 버전

    SublimeText3 중국어 버전

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

    스튜디오 13.0.1 보내기

    스튜디오 13.0.1 보내기

    강력한 PHP 통합 개발 환경

    드림위버 CS6

    드림위버 CS6

    시각적 웹 개발 도구

    SublimeText3 Mac 버전

    SublimeText3 Mac 버전

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

    & lt; Progress & Gt의 목적은 무엇입니까? 요소? & lt; Progress & Gt의 목적은 무엇입니까? 요소? Mar 21, 2025 pm 12:34 PM

    이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

    & lt; datalist & gt의 목적은 무엇입니까? 요소? & lt; datalist & gt의 목적은 무엇입니까? 요소? Mar 21, 2025 pm 12:33 PM

    이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

    HTML5의 크로스 브라우저 호환성에 대한 모범 사례는 무엇입니까? HTML5의 크로스 브라우저 호환성에 대한 모범 사례는 무엇입니까? Mar 17, 2025 pm 12:20 PM

    기사는 HTML5 크로스 브라우저 호환성을 보장하기위한 모범 사례에 대해 논의하고 기능 감지, 점진적 향상 및 테스트 방법에 중점을 둡니다.

    & lt; meter & gt의 목적은 무엇입니까? 요소? & lt; meter & gt의 목적은 무엇입니까? 요소? Mar 21, 2025 pm 12:35 PM

    이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

    html5 & lt; time & gt; 의미 적으로 날짜와 시간을 나타내는 요소? html5 & lt; time & gt; 의미 적으로 날짜와 시간을 나타내는 요소? Mar 12, 2025 pm 04:05 PM

    이 기사는 html5 & lt; time & gt; 시맨틱 날짜/시간 표현 요소. 인간이 읽을 수있는 텍스트와 함께 기계 가독성 (ISO 8601 형식)에 대한 DateTime 속성의 중요성을 강조하여 Accessibilit를 향상시킵니다.

    HTML5 양식 유효성 검사 속성을 사용하여 사용자 입력을 유효성있게하려면 어떻게합니까? HTML5 양식 유효성 검사 속성을 사용하여 사용자 입력을 유효성있게하려면 어떻게합니까? Mar 17, 2025 pm 12:27 PM

    이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

    뷰포트 메타 태그는 무엇입니까? 반응 형 디자인에 중요한 이유는 무엇입니까? 뷰포트 메타 태그는 무엇입니까? 반응 형 디자인에 중요한 이유는 무엇입니까? Mar 20, 2025 pm 05:56 PM

    이 기사는 모바일 장치의 반응 형 웹 디자인에 필수적인 Viewport Meta Tag에 대해 설명합니다. 적절한 사용이 최적의 컨텐츠 스케일링 및 사용자 상호 작용을 보장하는 방법을 설명하는 반면, 오용은 설계 및 접근성 문제로 이어질 수 있습니다.

    & lt; iframe & gt; 꼬리표? 보안을 사용할 때 보안 고려 사항은 무엇입니까? & lt; iframe & gt; 꼬리표? 보안을 사용할 때 보안 고려 사항은 무엇입니까? Mar 20, 2025 pm 06:05 PM

    이 기사는 & lt; iframe & gt; 외부 컨텐츠를 웹 페이지, 공통 용도, 보안 위험 및 객체 태그 및 API와 같은 대안을 포함시키는 태그의 목적.

    See all articles