布局---前端学习第三part

一 文档流

二 盒子:

(1)边框宽框 颜色 样式

 

 (2)内边距

(3)外边距

(4)水平方向的布局:

 (5)垂直方向的布局

 (6)外边距的折叠

(7)行内元素的盒模型:

  (8)默认样式

(9)盒子的大小:

盒子可见框的大小由内容区,内边距和边框决定

           box-sizing 用来设置盒子尺寸的计算方式(设置 width height的作用)

            可选值:

                content-box 默认值,宽度高度设置内容区大小

                border-box 来设置整个盒子可见框的大小(width height指内容区内边框边框总的大小)

(10)轮廓和阴影:

outline 用来设置元素的轮廓线,用法和 border一样

                    轮廓不影响可见框的大小

                box-shadow 阴影

                    第一个值:左侧偏移量:设置阴影的水平位置 正值向右 负值向左

                    第二个值:垂直偏移量:设置阴影的垂直位置 正值向下 负值向上

                    第三个值:阴影的模糊半径

                    第四个值:颜色

                border-radius:圆角,圆的半径 水平 垂直

                    border-top-left-radius:

                    border-bottom-right-radius:  

                    border-radius:  

                        四个值:左上 右上 右下 左下

                        三个值:左上 右上/左下 右下

                        两个值:左上/右下 右上/左下

                设置圆形:

                    border-radius: 50%;​​​​​​​

 

三 浮动:

1、通过浮动可以使一个元素向其父元素的左或右移动 

可选值:

                    none 默认值,不浮动

                    left 向左

                    right 向右

特点:

                   (1)设置浮动后,会完全从文档流中脱离,不再占用文档流的位置

                    (2)元素向左侧或右侧移动

                    (3)浮动元素默认不会从父元素中移出

                    (4)元素设置浮动以后,水平布局的等式不需要强制成立

                    (5)浮动元素向左向右移动,不会超过它的其它浮动元素

                    (6)浮动元素不会超过它上面的浮动的兄弟元素,最多一样高

                    (7)浮动元素的上边是一个没有浮动的元素,则浮动元素无法上移

                总结:

                    让页面中的元素可水平排列,水平布局

                                

 (8)浮动元素不会盖住文字,文字自动环绕在浮动元素的周围

                元素设置浮动后,从文档流中脱离,元素的特点也会发生变化

                脱离文档流的特点:

                    块元素:

                        1.不会独占一行

                        2.宽度高度都会被内容撑开

                    行内元素:

                        与块元素变化后特点一样

                    脱离文档流后,块元素和行内元素无区别    

2、浮动缺点:

高度塌陷:

           在浮动布局中,父元素的高度默认是被子元素撑开的,当子元素浮动后,完全脱离文档流,

           无法撑起父元素的高度,导致父元素高度丢失,其下的元素自动上移,导致页面布局混乱,

            所以页面布局是浮动中常见问题,必须处理

3、BFC:

BFC(Block Formatting Content)块级模式化环境

                 是 CSS 中一个隐含的属性,可以为一个元素开启BFC,元素变成一个独立的布局区域

                    特点:

                        1.不会被浮动元素覆盖

                        2.子元素和父元素的外边距不会重叠

                        3.元素可以包含浮动的子元素

                    可以通过特殊方式开启 BFC:

                        1.设置元素浮动(不推荐)

                        2.设置行内块元素(不推荐)

                        3.将元素的 overflow 设置成一个非 visible (overflow:hidden)的值,使其包含浮动元素

4、clear

如果我们不希望某个元素因为其他元素浮动的影响而改变位置,可以通过 clear 清除影响
        clear:
            清除浮动产生的影响
            left:清除左侧影响  right:清除右侧影响 both:清除两侧最大影响的那侧
        原理:设置清除浮动后,浏览器自动为元素添加一个上边框,使其位置不受其他元素影响 

5、高度塌陷的最佳解决方案

 

 最佳:

 四 定位(position):

                    更高级的布局,通过定位可以将元素摆放到任意位置

                    可选值:

                        static:默认,没有开启定位

                        relative:相对定位

                        absolute:绝对定位

                        fixed:固定定位

                        sticky:粘滞定位

                偏移量(offset):

                    元素开启定位后,可以通过偏移量设置元素的位置

                    垂直方向的位置由 top bottom决定 通常只使用一个

                    top:定位元素与定位位置上边的距离,越大越向下  bottom 下边

                    水平:left right

1.相对定位

                    特点:

                    1.如果不设置偏移量,元素不变

                    2.相对定位参考于元素在文档流中的位置进行定位

                    3.会提升元素的层级

                    4.不会脱离文档流

                    5.不会改变元素性质,块还是块,行内还是行内 

 2.绝对定位(absolute):

                    特点:

                    1.如果不设置偏移量,元素的位置不变(其他有的变了)  

                    2.元素从文档流中脱离

                    3.改变元素性质  

                    4.使元素提升层级

                    5.相对于其包含块进行定位

                    包含块(containing block):

                        正常:就是离当前元素最近的祖先块元素

                        开启绝对定位:离它最近的开启了定位的祖先元素,如果都没开,就相对于根元素

                        html(根元素、初始包含块)

当开启绝对定位后,

                    水平布局:left+margin-left+border-left+padding-left+width+padding-right+border-right+margin-right+right

                        要加 left 和 right 两个值,规则与之前一样

                    当发生过渡约束后,如果九个值中没有 auto ,则自动调整 right,如果有 auto,调 auto

                    可设置 auto :margin width left right

                    left right默认是 auto,如果不知道left right,等式不满足,会自动调整这两个值

                    垂直布局:

                        top+margin-top/bottom+padding-top/bottom+border-top/bottom+height-top/bottom

 

3.固定定位(fixed):

                    也是一种绝对定位,大部分特点都与绝对定位一样

                    不同点:参考于浏览器的视口(固定不动)进行定位,不会随网页的滚动条滚动

4.粘滞定位(sticky):

                    与相对定位相似

                    不同:在元素到达某一位置时,将其固定

 5.元素层级

对于开启了定位元素,可通过 z-index属性来指定元素的层级,

               z-index 需要一个整数作为参数,值越大元素层级越高,越优先显示

               如果层级一样,则优先显示靠下的元素

               祖先元素的层级再高,也不会盖住后代元素

 五 字体和背景:

1.字体

颜色:color

大小:font-size,相关单位:em(相对于当前元素),rem(相对于根元素)

字体族(格式):font-family,指定字体的类别,浏览器会自动使用该类别下的字体,可以同时使用多个字体,逗号隔开,字体生效时优先使用第一个,第一个无法使用则使用第二个,以此类推

        可选值:

        serif(衬线字体),sans-serif(非衬线字体),monospace(等宽字体)

        font-face:可以将服务器中的字体直接提供给用户去使用,font-family指定字体的名字,src服务器中字体的路径。问题:1.加载速度 2.版权

样式:

font 可以设置字体相关的所有属性

                    语法:

                    font:字体大小/行高  字体族 (行高可省略,不写使用默认值)

                    font-weight:字重 字体的加粗

                        可选:

                        normal 默认值,不加粗

                        bold 加粗

                        100-900 九个级别(没啥用)

                    font-style:字体风格

                         normal 正常

                         italic 斜体  

2.图标字体(iconfont)

图标,可以通过图片引入,但是图片本身大并且不灵活,所以使用图标时,直接将图标设置成字体,通过font-face的形式对字体进行引入,就可以通过字体的形式使用图标

(1)通过类名使用图标文字

class=“fas fa-bell”   class=“fab fa-accessible-icon”

优点:可以改大小颜色

(2)通过伪元素来设置图标字体:

        1.找到要设置图标的元素,通过before 或 after 

        2.在content中设置字体的编码

        3.设置字体的样式 font-family:

fab:

font-family:'Font Awesome 5 Brands'; 

fas

font-family:'Font Awesome 5 Free';

font-weight:900; 

(3)通过实体来使用图标字体

&#x图标的编码;

3.行高(line height):

                    文字占有的实际高度

                    可以通过 line-height设置行高

                    可以直接指定一个大小(px em),也可以直接为行高设置一个整数,如果是一个整数,行高将会是字体指定的倍数,默认是1.33倍

                    还经常用来设置文字的行间距,行间距 = 行高 - 字体大小

                字体框:

                    字体存在的格子,设置 font-size 实际上就是在设置字体框的高度

                行高会在字体框的上下平均分配,可以将行高设置成和高度一样的值,使单行文字在一个元素中垂直居中

4.文本的水平和垂直对齐

 text-align 文本的水平对齐

                    可选值:

                    left左对齐  right右对齐  center居中对齐  justify两端对齐  

                vertical-align 设置元素垂直对齐的方式

                    可选值

                    baseline 默认 基线对齐

                    top 顶部对齐

                    bottom 底部对齐

                    middle 居中对齐

                    还可以直接指定值

 引入图片时,想要和边框对齐,用vertical-align

5.文本修饰

text-decoration(设置文本修饰):

                    可选值:

                    none 无

                    underline 下划线

                    line-through 删除线

white-space 设置网页如何处理空白

                    可选值:

                    normal 正常

                    nowrap 不换行

                    pre 保留空白

 6.背景

background-image设置背景图片

                    可以同时设置背景图片和背景颜色,背景颜色直接成为背景色

                    如果背景图片小于背景色,则背景图片会自动在背景中将元素铺满

                    大于,则图片无法完全显示

 background-repeat:设置图片的重复

                     repeat 默认值,背景沿着 x轴 y轴双方向重复  

                     repeat-x 沿 x轴方向重复

                     repeat-y 沿 y轴

                     no-repeat 不重复

background-position:设置图片的位置(九宫格)

                    设置方式:

                    方位词:通过 top left right bottom center 几个表示方位的词来设置

                        必须同时指定两个值,只写一个,第二个默认是 center

                    偏移量: 水平 垂直  

background-clip:设置背景范围

                    可选值:

                    border-box 默认值,背景会出现在边框下边

                    padding-box 背景不会出现在边框,只在内容区和内边距

                    content-box 只会出现在内容区

 background-origin:图片背景偏移量计算的原点  

                    可选值:

                    padding-box 默认值,background-position从内边距处开始计算

                    content-box 从内容区开始计算

                    border-box 从边框开始计算

background-size:设置背景图片的大小

                    第一个值表示宽度,第二个表示高度,如果只写一个,第二个默认 auto

                    cover 图片比例不变,将元素铺满

                    contain 图片比例不变,将图片完整显示

background-attachment:背景元素是否跟着元素移动

                    可选值:

                    scroll 默认值,跟随移动

                    fixed 背景图片固定在页面,不随元素移动

background:

                    背景相关的所有属性,所有样式都可以通过这个来设置,没有顺序要求,

                    但是 size要写在 position后面,并且使用/隔开,origin在前 clip在后

图片:

属于网页中的外部资源,外部资源都需要浏览器单独发送请求加载,浏览器加载外部资源时按需加载。

解决图片闪烁问题,可以将多个小图片统一保存到一个大图片中,然后通过调整 background-position ,这样图片同时加载到网页中,可以有效避免闪烁问题。应用广泛,被称为 CSS-Sprite(雪碧图)

雪碧图的使用步骤:

(1)先确定要使用的图标 (2)确认图标大小 (3)根据图标大小创建一个元素 (4)将雪碧图设置成背景图片 (5)设置一个偏移量来显示正确的图片

特点:

一次性将多个图片加载进页面,降低请求次数,加快访问速度,提升用户体验

渐变:

通过渐变,可以设置复杂的背景颜色,可以实现从一个颜色向其他颜色的过渡的效果,渐变是图片,需要通过 background-image 设置

线性渐变:

                linear-gradient():颜色沿着一条直线变化

                    linear-gradient(red,yellow) 红色开头 黄色结尾 中间过渡

                    开头可以指定一个渐变的方向:to right,to left,to bottom, to top, xxxdeg(deg 表示度数), 1turn表示一圈

                    可以同时指定多个颜色,默认平均分配,也可以手动指定分配情况

                可以平铺的线性渐变 repeating-linear-gradient()    

径向渐变 radial-gradient():放射性效果

                    默认,径向渐变圆心的形状根据元素的形状来计算,正方形-->圆形,长方形-->椭圆形

                    可以手动指定径向渐变的大小 circle 正圆,ellipse 椭圆

                    可指定渐变的位置,radial-gradient(大小 at 位置,颜色 位置,颜色 位置,颜色 位置)

                        大小:circle 正圆,ellipse 椭圆,closet-side 近边,closet-corner 近角,farthest-side 远边,farthest-corner 远角

                        位置:top bottom left right center

六 表格表单 

1. 生活中需要表格来表示格式化数据,网页中也需要

        table 标签来创建一个表格,tr 表示一行,td 表示一格

        colspan 横向合并单元格 rowspan 纵向

2.长表格:可以将一个表格分为三个部分:

            头部:thead 主体:tbody 底部:tfoot

            th 表示头部的单元格

 3.边框

border-spacing 设置边框间的距离

            border-collapse 设置边框的合并

            如果表格中没有使用 tbody,直接使用 tr,浏览器会自动创建一个 tbody,并且将 tr 都放到 tbody中,

            tr不是 table的子元素

            默认情况下,元素在 td 中是垂直居中的,可以通过 vertical-align来修改

4.表单:

            现实用表单提交数据,网页表单用于将本地的数据提交给远程的服务器

            使用 form 标签创建表单

            属性:

                action 表单提交服务器的地址

                input 文本框,数据要提交到服务器中,必须为元素指定一个 name 属性值

                password 密码框

                radio 单选按钮,必须有一个相同的 name属性,像这种选择框,还必须指定一个 value 属性,最终作为用户填写的值传递给服务器

                    checked  将单选按钮设置为默认选中

                checkbox 多选框

                select 下拉列表,option

 普通按钮

       <input type="button" value="按钮">

 重置按钮,重置成默认值

       <input type="reset"><br><br>

  注重邮件的格式

       <input type="email"><br><br>

 autocomplete="off" 可以关闭自动补全

          readonly 将表单项设置为只读,数据会提交

          disabled 设置为禁用,不提交

          autofocus 设置表单项自动获取焦点,光标自动在设置的地方出现

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值