前端开发基础入门篇——CSS布局

举报
小团子999 发表于 2020/06/27 13:37:07 2020/06/27
【摘要】 所有HTML元素可以看作盒子,在CSS中,盒子模型是用来设计和布局时使用。

1. CSS 盒子模型(Box Model)

        所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用。CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。

                   

    • Margin(外边距):清除边框外的区域,外边距是透明的。

    • Border(边框):围绕在内边距和内容外的边框。

    • Padding(内边距):清除内容周围的区域,内边距是透明的。

    • Content(内容):盒子的内容,显示文本和图像。

    我们可以设置内容区域的宽度和高度。完整大小的元素,你还必须添加内边距,边框和边距。

    总元素的宽度=宽度+左填充+右填充+左边框+右边框+左边距+右边距

    总元素的高度=高度+顶部填充+底部填充+上边框+下边框+上边距+下边距

2. 盒子布局属性

  • CSS 边框属性

属性 描述
border 简写属性,用于把针对四个边的属性设置在一个声明。
border-style 用于设置元素所有边框的样式,或者单独地为各边设置边框样式。
border-width 简写属性,用于为元素的所有边框设置宽度,或者单独地为各边边框设置宽度。
border-color 简写属性,设置元素的所有边框中可见部分的颜色,或为 4 个边分别设置颜色。

        其中border-style 值:

                1)none: 默认无边框

                2)dotted: 定义一个点线边框

                3)dashed: 定义一个虚线边框

                4)solid: 定义实线边框

                5)double: 定义两个边框。 两个边框的宽度和 border-width 的值相同

                6)groove: 定义3D沟槽边框。效果取决于边框的颜色值

                7)ridge: 定义3D脊边框。效果取决于边框的颜色值

                8)inset:定义一个3D的嵌入边框。效果取决于边框的颜色值

                9)outset: 定义一个3D突出边框。 效果取决于边框的颜色值

        单独设置边框各边:border-left、border-right、border-top、border-bottom。

  • CSS 轮廓(outline)

            轮廓(outline)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。轮廓(outline)属性指定元素轮廓的样式、颜色和宽度。

属性 说明
outline     简写属性。在一个声明中设置所有的轮廓属性
     outline-color     设置轮廓的颜色
     outline-style     设置轮廓的样式
     outline-width     设置轮廓的宽度
  • CSS margin(外边距)

属性 描述
margin 简写属性。在一个声明中设置所有外边距属性。
margin-bottom 设置元素的下外边距。
margin-left 设置元素的左外边距。
margin-right 设置元素的右外边距。
margin-top 设置元素的上外边距。

        属性取值可以为:

               1)auto:这样设置浏览器边距,结果会依赖于浏览器。   

               2)length:定义一个固定的margin(使用像素,pt,em等)。 

               3)%:定义一个使用百分比的边距。   

  • CSS padding(填充)


属性 说明
padding 使用简写属性设置在一个声明中的所有填充属性
padding-bottom 设置元素的底部填充
padding-left 设置元素的左部填充
padding-right 设置元素的右部填充
padding-top 设置元素的顶部填充
  • CSS 尺寸 (Dimension)

属性 描述
height 设置元素的高度。
line-height 设置行高。
max-height 设置元素的最大高度。
max-width 设置元素的最大宽度。
min-height 设置元素的最小高度。
min-width 设置元素的最小宽度。
width 设置元素的宽度。
  • CSS Display(显示)

        块级元素(block)特性:总是独占一行,表现为另起一行开始,而且其后的元素也必须另起一行显示;宽度(width)、高度(height)、内边距(padding)和外边距(margin)都可控制;

        内联元素(inline)特性:和相邻的内联元素在同一行; 宽度(width)、高度(height)、内边距的top/bottom(padding-top/padding-bottom)和外边距的top/bottom (margin-top/margin-bottom)都不可改变,就是里面文字或图片的大小;

    1)display:block  -- 显示为块级元素

    2)display:inline  -- 显示为内联元素

    3)display:inline-block -- 显示为内联块元素,表现为同行显示并可修改宽高内外边距等属性

  • CSS Position(定位)

        position 属性的五个值:static、relative、fixed、absolute、sticky

                1)static定位:HTML 元素的默认值,即没有定位,遵循正常的文档流对象。

                2)fixed 定位:元素的位置相对于浏览器窗口是固定位置。即使窗口是滚动的它也不会移动。

                3)relative 定位:相对定位元素的定位是相对其正常位置。移动相对定位元素,但它原本所占的空间不会改变。

                4)absolute 定位:绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于<html>。absolute 定位的元   素可以和其他元素重叠。

                5)sticky 定位:sticky 英文字面意思是粘,粘贴,所以可以把它称之为粘性定位。position: sticky; 基于用户的滚动位置来定位。粘性定位的元素是依赖于用户的滚动。

    • CSS Overflow

            overflow  属性用于控制内容溢出元素框时显示的方式。可以控制内容溢出元素框时在对应的元素区间内添加滚动条。Overflow可以的取值:

    取值 描述
    visible 默认值。内容不会被修剪,会呈现在元素框之外。
    hidden 内容会被修剪,并且其余内容是不可见的。
    scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
    auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
    inherit 规定应该从父元素继承 overflow 属性的值。
    • CSS Float(浮动)

            CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列。浮动的取值:left、right、none、inherit。

            以元素的水平方向浮动为例,元素只能左右移动而不能上下移动。一个浮动元素会尽量向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。浮动元素之后的元素将围绕它。


    【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
    • 点赞
    • 收藏
    • 关注作者

    评论(0

    0/1000
    抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。