web前端基础知识

HTML&CSS基础经典版

  1. HTML:结构(页面元素和内容)

  2. css:表现(网页元素的外观和位置等页面样式

  3. 行为:JavaScript:行为(网页模型定义与页面交互

    排版标签

    1. 排版标签标题标签:h系列标签 重要程度依次递减

      特点:独占一行、h1-h6文字逐渐减小

    2. 段落标签:p

      特点:段落之间存在间隙、独占一行

    3. 换行标签:

    4. 水平分割线:


  • 文本格式化标签

  1. 场景:让文字加粗b strong、下划线u ins、倾斜i em、删除线s del等
  2. 语义:突出重要性的强调语境 strong、ins、em、del

图片标签

  1. 特点:单标签
  2. src alt为图片标签的属性、属性之间没有顺序
  3. src为属性名 =""为属性值
  4. alt是替换文本 当图片不显示的时候显示的文字
  5. title时提示文本 不仅可以为图片标签添加,还可以用于其他标签
  6. width和height属性只需要给出一个值,另一个等比例缩放,好处就是图片不变形

路径的介绍

  1. 路径可分为:绝对路径(了解)相对路径(常用)

  2. 绝对路径例如:盘符开头:D\day01、完整的网络地址:https://www.itcast.cn

  3. 相对路径:从当前文件出发找目标文件的过程

    相对路径之同级 **./**表示当前位置

    相对路径之下级 :images/baobao.jpg

    相对路径之上级:**…/**表示上级

音频标签:audio

web前端基础知识_第1张图片

视频标签:video

  • 添加muted在静音状态下自动播放

链接标签

  1. href的作用是**调转地址**

web前端基础知识_第2张图片

  • 在新窗口打开:属性名为target、取值:_blank

列表标签

  1. 自定义列表:dl dt dd

  2. 去掉无序列表小黑点:

    li {
                /* 去除小圆点 */
                list-style: none;
            }
    

表格标签

  1. table>tr>td
  2. th为表头标签,有加粗效果
  3. caption为表格大标题
  4. 结构标签:thead,tbody,tfoot



    
学生成绩单
姓名 年龄 成绩
张三 19 33
李四 20 44
王二 20 44

合并单元格

跨行并列:rowspan、跨列并列:colspan

遵循左上原则

列表标签

  1. 列表的应用场景
  2. 无序列表
  3. 有序列表
  4. 自定义列表

绝对路径

  • 绝对路径:绝对路径例如:
    • 盘符开头:D\day01
    • 完整的网络地址:http://wdianjun.vcn.ink

特点:地址很长

相对路径

  • 相对路径之同级 ./表示当前位置
  • 相对路径之下级:**如:**images/baobao.jpg
  • 相对路径之上级:**如:../**images/baobao.jpg

表单标签-input

  • input type="text"文本框
  • input type="text"密码框
  • input type="radio"单选框
  • input type="checkbox"复选框

web前端基础知识_第3张图片

注意:

  • 有相同name属性值的单选框为一组,一组中只能同时有一个被选
  • 属性对于单选框有分组功能

占位符:placeholder

button按钮标签
  • 如果不指定type值,button按钮默认为submit
  • 按钮要放在==表单域(form)==中才会有行为,否则就是一个普通按钮

按钮标签是双标签,可以插入其他标签如:图片

select下拉菜单
  • select标签:下拉菜单的整体
  • option标签:下拉菜单的每一项

selected属性:下来菜单的默认选中

lable标签

强调文本的作用

没有语义化的标签
  • div:独占一行
  • span
语义化标签

网页头部

网页底部

网页区块

网页文章

CSS:层叠样式表

  • css的引入方式

  1. ==内嵌式:==写在style标签中,一般写在head里

    
    
  2. ==外联式:==写在一个单独的.css文件中

    
    
  3. ==行内式:==写在标签的style属性中,大多数配合js使用

基础选择器

标签选择器

类选择器

id选择器

id必须是唯一的,不能出现两个标签有相同的id

你好,hello
  • 通配符选择器

    • 清除内外边距,获取所有标签

    
            * {
                margin: 0;
                padding: 0;
            }
    

字体和文本样式

字体:

字体大小

font-size: 14px;

字体粗细

font=weight

字体样式

font-style

字体类型

font-family

层叠性

建立在相同的权重下,如相同的选择器,后面的会覆盖前面的

复合属性

font复合书写顺序:font:style weight size family

注意:

  • 顺序不能乱
  • 如果之前已经写了零散的font属性,当心可能会覆盖掉之前的

水平居中对齐 text-aling:center

如果需要让文本水平居中,text-align属性给文本所在标签(文本的父元素)设置

文本修饰

  • 添加下划线

    • text-decoration: underline;
      
  • 删除线

    • text-decoration: line-through;
      
  • 上划线

    • text-decoration: overline;
      
  • 清除下划线

    • text-decoration: none;
      

行高line-height

控制一行的上下行间距

  • 让单行文本垂直居中可以设置 line-height : 文字父元素高度
  • 注意如果同时设置了行高和font复合,注意覆盖问题
  • 书写顺序:font:style weight size/line-height family

颜色取值

  • rgba表示法:( 0 , 0 , 0 , 0.5 ) 可以省略写成 rgba ( 0 , 0 , 0 , .5 )
    • 取值范围0~1 ,1表示完全不透明

选择器进阶

复合选择器

后代选择器
  • 根据HTML标签的嵌套关系,选择父元素后代中满足条件的元素

  • 语法:选择器1 选择器2 {} 空格隔开

  • 注意:后代包括:儿子、孙子…

并集选择器
  • 作用:选中页面中 同时满足 多个选择器的标签
  • 语法:选择器1选择器2 { css }
  • 注意:交集选择器中的选择器之间是紧挨着的,没有东西分隔 ,交集选择器中如果有标签选择器,标签选择器必须写在最前面
交集选择器
  • 交集选择器:标签选择器在前,类选择器在后,中间没有空格
  • id是唯一的,不能做交集
  • 交集选择器只可能是 标签选择器 + 类选择器
hover伪类选择器
  • 鼠标悬停在元素上的状态
  • 可以用在任何标签上

背景相关属性

  • 背景复合
    • 复合写法推荐:background:color image repeat position
  • 背景位置如果是英文状态下可以颠倒位置

元素显示模式之块级元素

  • 独占一行,可以设置宽高
  • 宽度默认是父元素的宽度,高度默认由内容撑开

元素显示模式之行内元素

不可以设置宽高,一行多个显示

元素显示模式之行内块元素

  • 一行可以显示多个
  • 可以设置宽高
  • 代表标签:input、textarea、button、select…
  • img标签有行内块元素特点

元素显示模式转换

  • 转换成块级元素display:block
  • 转换成行内块元素display:inline-block
  • 转换成行内元素display:inline

html嵌套规范

  1. p标签中不要嵌套div、p、h等块级元素
  2. a标签不能嵌套a标签

css特性

  • 继承性
  • 子元素有默认继承父元素的特点
  • **控制文字的属性**都可以继承

在这里插入图片描述

  • 原则:本身有就不会继承,没有就继承父级
  • 层叠性

    • 在优先级相同的条件下,后面的覆盖前面的
    • 若优先级不同谁的优先级高,谁就覆盖

背景的复合写法

  • 背景复合写法建议: color URL() 平铺 位置-
 background: skyblue url(./images/1.jpg) no-repeat bottom right;
  • 注意:使用英文方位词不考虑顺序 数字下第一个必须是x,第二个必须是y

盒子模型

padding内边距

            /* 四个值:上右下左 顺时针*/
            /* padding: 10px 20px 40px 80px; */
            /* 三个值:上 左右 下 */
            /* padding: 10px 20px 15px; */
            /* 两个值:上下 左右 */
            /* padding: 10px 20px; */
            /* 一个值:上下左右 */
            padding: 60px;

css3盒子模型

自动内减:box-sizing:border-box

margin外边距

合并现象

垂直布局的块级元素,上下margin会合并

  • 最终距离为两者margin最大值
  • 解决办法:只给一个盒子设置margin即可

行内元素设置上下外边距无效 上下内边距也无效

margin的塌陷问题(重要)

现象:互相嵌套的块级元素,子元素的margin-top 会作用在父元素上

结果:导致父元素一起移动

解决方法:

触发BFC块级盒子格式化上下文

BFC可以解决浮动和塌陷问题

  1. 给父元素设置border-top 或者 padding-top(分隔父子元素的margin-top)
  2. 父元素设置overflow:hidden(超出部分隐藏)
  3. 转换成行内块元素
  4. 设置浮动
  • 解决塌陷最佳办法给父级添加overflow:hidden

行内元素的margin和padding无效情况

  1. 水平方向的margin和padding布局中有效!
  2. 垂直方向的margin和padding布局中无效!

结构伪类选择器

  • 这个选择器是个逻辑并且的关系
  • 比如div:nth-child(n)表示要找一个div,这个div必须是某个元素的一个子元素
/* 选择第一个li */
        /* li:first-child {
            background-color: blue;
        } */
        /* 选中最后一个li */
        /* li:last-child {
            background-color: blue;
        } */
        /* 任选一个 */
        /* li:nth-child(n) {
            background-color: skyblue;
        } */
        /* 选择倒数第3个 */
        
        li:nth-last-child(3) {
            background-color: blue;
        }
       /* 选择后三个*/
        li:nth-last-child(-n+3)

结构伪类选择器之公式(重要)

/* li:nth-child(n) 小括号里不仅可以写数字还可以写公式 */
        /* 选择偶数 even或者2n*/
        /* li:nth-child(even) {
            background-color: red;
        } */
        /* 选择奇数 odd或者2n+1 */
        /* li:nth-child(odd) {
            background-color: blue;
        } */
        /* 选择前5个 -n+5 */
        
        li:nth-child(-n+5) {
            background-color: pink;
        }

易错点

/* 找到第一个li里面的a 两种写法*/
        /* li:nth-child(1) a {
            background-color: red;
        } */
        /* li:first-child a {
            background-color: red;
        } */
        /* 找到第五个li里的第3个a */
        
        li:nth-child(5) a:nth-child(3) {
            background-color: blue;
        }
        /* 找到后五个li里的a */
        li:nth-last-child(-n+3) {
            
        }

伪元素::before&::after

  • 必须设置==content属性==才能生效
  • 伪元素默认是行内元素

    

==注意:==伪元素默认是行内元素,宽高不生效

.father::before {
            display: inline-block;
            /* 内容必须写 */
            content: '加油';
            width: 100px;
            height: 100px;
            background-color: blue;
        }

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-usglb9AS-1646056445989)(C:\Users\Y\Desktop\博客内容\pic\效果1.png)]

标准流(文档流)

  • 标准流就是**标签默认的排列方式 **如:div独占一行
  • 标准流配合浮动和定位完成网页布局

几种居中总结

  • margin:0 auto
    • 作用是让具有宽度的块级元素居中,行内块不行
  • text-align: center;
    • 给一个块级元素或者行内块元素设置,让其内部文字或者行内块实现水平居中
  • line-height: ;
    • 在展示文字的时候会有一个默认的行高,文字在行中肯定是默认居中的,如果行高设置的和元素一样高,那么文字就会在行中垂直居中。

浮动

  • 浏览器在解析行内或行内块元素的时候,如果元素换行之间会有小缝隙
  • 浮动作用:
    • 1.图文环绕
    • 2.让块级盒子在一行显示
  • web前端基础知识_第4张图片
  • 浮动的特点:
    1.浮动后的元素会脱离标准流(脱标),不占标准流的位置
    2.浮动元素比标准流高半个级别,可以覆盖标准流中的元素
    3.下一个浮动元素会在上一个浮动元素后面左右浮动
    4.浮动一行显示多个,可以设置宽高
    注意:浮动的元素不能通过text-align:center或者margin:0 auto
  • 浮动元素具有标准流元素的特性,可以设置宽高,并且在一行展示多个
  • 浮动的不良影响

css书写顺序(重要)

作用:浏览器执行效率更高

书写顺序:

  1. display/浮动/定位
  2. 盒子模型:margin、padding、宽高、背景色
  3. 文字样式:font:

清除浮动

1.给父级设置高度

2.额外标签法

  1. 在父元素内容的最后添加一个块级元素
  2. 给添加的块级元素设置 clear:both
  3. 缺点:会在页面中添加额外的标签,会让页面的HTML结构变得复杂

3.单伪元素清除法

给父级添加一个类clearfix

.clearfix::after {
            content: '';
            display: block;
            clear: both;
            /* 补充代码,在网页中看不到伪元素 */
            height: 0;
            visibility: hidden;
        }

4.双伪元素清除浮动(常用)

==特点:==不光能清除浮动还能解决塌陷(坑爹现象)问题

.clearfix:before,.clearfix:after {
    content:"";
    display:table; 
  }
  .clearfix:after {
    clear:both;
  }
  .clearfix {
     *zoom:1;
  }   

5.给父元素设置overflow : hidden

触发bfc

  • 直接给父元素设置overflow : hidden
  • 特点:方便

注意

版心 注意:要清除浮动的影响,在上一级的父级 -->

你可能感兴趣的:(经验分享,前端,css,html)