前端入门(HTML核心+CSS基础)一

学习前端,html和css是必不可少的,经过一周的学习,我对前端有了更加深刻的认识,学到了许多小妙招,下文是我的一些学习笔记

那么我们废话不多说,这就开始分享吧!!!有不足的地方希望大佬可以指正

我将进行两部分介绍,html核心知识和css基础知识

  • > HTML核心
  • > CSS基础

HTML核心

HTML的基础知识

在HTML中,注释使用如下格式书写:<!-- 注释内容-->

HTML元素其他叫法:标签、标记
元素=起始标记(begin tag)+结束标记(end tag) +元素内容+元素属性

属性=属性名+属性值

属性的分类:
局部属性:某些元素特有的属性 全局属性:所有元素通用

空元素
有些元素没有结束标记,这样的元素叫做空元素 ,空元素的两种写法:
<meta charset="UTF-8">

<meta charset="UTF-8"/>
元素的嵌套
元素不能相互嵌套
父元素、子元素、祖先元素、后代元素、兄弟元素(拥有同一个父元素的两个元素)

标准的文档结构
HTML:页面、HTML文档

文档声明<!DOCTYPE html>。HTML文档声明,告诉浏览器,当前文档使用的HTML标准是HTML5
不写文档声明,将导致浏览器进入怪异渲染模式。

根元素html
根元素,一个页面最多只能有一个,并且该元素是所有其他元素的父元素或祖先元素 HTML5版本中没有强制要求书写该元素
lang属性

language,全局属性,表示该元素内部使用的文字使是使用哪一种自然语言书写而成的。
head元素
文档头,文档头内部的内容,不会显示到页面上文档的元数据:附加信息

 body元素

文档体,页面上所有要参与显示的元素,都应该放置到文档体中

语义化
什么是语义化
每一个HTML元素都有具体的含义

a元素:超链接

p元素:段落
h1元素:一级标题

注意:
所有元素与展示效果无关
元素展示到页面中的效果,应该有CSS决定
因为浏览器带有默认的CSS样式,所以每个元素有一些默认样式

了解到html中最重要的就是元素,下面是我对元素的一些认识

元素分类

a元素:超链接

文本元素:h;p;span;pre;实体字符

图片元素:img

多媒体元素:video;audio

列表元素:无序列表用ul+li;有序列表用ol+li;定义列表

容器元素:div元素;语义化容器元素

1.文本元素

h:标题

p:段落

span:没有语义,仅用于设置样式

pre:预格式化文本元素,该元素通常用于在页面中显示一下代码

实体字符:通常用于在页面中显示一些特殊的符号

2.图片元素

img:空元素

与map元素连用(注意衡量坐标时,需要使用专业的衡量工具ps,pxcook)

与figure元素连用

3.多媒体元素

video元素(视频)
controls :控制控件的显示,取值只能为controls

布尔属性:某些属性,只有两种状态:1.不写 2.取值为属性名这种属性叫做布尔属性,在html5中可以不用书写属性值
autoplay :布尔属性,自动播放

muted :布尔属性,静音播放

loop:布尔属性,循环播放

audio元素(音频)
和视频完全一致兼容性
旧版本的浏览器不支持这两个元素
不同的浏览器支持的音视频格式可能不一致,

通常视频:MP4、webm 音频:MP3

4.列表元素

有序列表用ol+li

无序列表用ul+li

常用于制作菜单或者 新闻

定义列表
通常用于一些术语的定义

dl : definition list
dt: definition title术语标题
dd : definition description 术语描述

5. 容器元素

(1)div元素

没有语义


(2)语义化容器元素
header:通常用于表示页头,也可以用于表示文章的头部
footer : 通常用于表示页脚,也可以用于表示文章的微博
article :通常用于表示文章内容
section:通常用于表示文章的章节
adide:通常用于表示附加信息(侧边栏)元素包含关系

CSS基础

 为网页源加样式

## 术语解释

```css

h1{

color:red;

background-color:lightblue;

text-align: center;

}

```

CsS规则 = 选择器 + 声明块

选择器:选中元素(大括号之前的元素)

p*3>lorem  生成三行随机数

### 选择器分类

选择器:选中元素

1. ID选择器:选中的是对应id值的元素

用#+id名引用

2. 元素选择器

直接用元素名

3. 类选择器

类选择器与其属性有关,与元素名无关,一个元素可以同时应用两个选择器

### 声明块

出现在大括号中

声明块中包含很多声明(属性),每一个声明(属性)表达了某一方面的样式

## CSS代码书写位置

1. 内部样式表

style在head里面,样式规则直接写在style中

2. 内联样式表,元素样式表

直接书写在元素的style属性中

3. 外部样式表[推荐]

将样式书写到独立的css文件中

在head里书写link元素,再用路径打开css文件

推荐原因

1) 外部样式可以解决多页面样式重复的问题,修改时也方便

2) 有利于浏览器缓存,从而提高页面响应速度

3) 有利于代码分离 (HTML和CSS) ,更容易阅读和维护

常见样式声明

样式声明要牢记!!!

1. color

元素内部的文字颜色

**预设值**:定义好的单词

**三原色,色值**:光学三原色 (红、绿、蓝),每个颜色可以使用-255之间的数字来表达,色值

```

rgb表示法:用三个0-255之间的数字来表示一个颜色

rb(8,255,8)

![Alt text](image.png)

hex(16进制)表示法

#红绿蓝

``

淘宝红: #ff4408,#f40

黑色:#886888,#888

白色: #ffffff,#fff

红: #ff0000,#f00

绿:#00ff00,#00f

紫:#f0f

青:#0ff

黄:#ff0

灰色:#ccc

2. background-color

元素背景颜色

3. font-size

元素内部文字的尺寸大小

1) px:像素,绝对单位,简单的理解为文字的高度占多少个像素

2) em:相对单位,相对于父元素的字体大小每个元素必须有字体大小,

如果没有声明,则直接使用父元素的字体大小,如果没有父元素 (html)则使用基准字号。

> user agent,UA,用户代理 (浏览器)

4. font-weight

文字粗细程度,可以取值数字,可以取值为预设值

>strong 默认加粗,表示重要

预设值

normal-400

bold-700

5. font-family

文字类型

必须用户计算机中存在的字体才会有效

使用多个字体,以适用各种字体环境

sans-serif,非衬线宇体(没有找到对应字体时,会用他)

6. font-style

字体样式,通常用它设置斜体

> i元素,em元素,默认样式,是倾斜字体;

 实际使用中,通常用i表示一个图标 (icon)

7.text-decoration

文本修饰,给文本加线

>a素

用text-decoration删除超链接下的下划线

>de1元素: 错误的内容

![Alt text](image-4.png)

![Alt text](image-5.png)

>s元素:过期的内容

8. text-indent

首行文本缩进、

9. line-height

每行文本的高度,该值越大,每行文本的距离越大。

设置行高为容器的高度,可以让单行文本重直居中(像素)

行高可以设置为纯数字,表示相对于当前元素的字体大小(多行时)

10. width

宽度

11. height

高度

12. letter-space

文字间隙

13. text-align

元素内部文字的水平排列方式 right,left,center

选择器
帮助你精准的选中你想要的元素

##  简单选择器  

1. ID选择器

2. 元素选择器

3. 类选择器

4. 通配符选择器

*,会选中所以元素

5. 属性选择器

根据属性名和属性值选中元素

 *=b   只要属性中有b就好 各个字母之间不用有空格

 ~=b   属性中的字母之间必须有空格,要不然选不中

 $=    只要是以等号后面的东西结束就好

6. 伪类选择器    

选中某些元素的某种状态

1) link: 超链接未访问时的状态

2) visited: 超链接访问过后的状态

)

3) hover: 鼠标悬停时状态

4) active: 激活状态,鼠标按下状态

 书写格式    元素:伪类选择器{内容}

 (love hate 爱恨法则)

7. 伪元素选择器

before

after

可以用其生成书名号,使用时要用两个::,在before和after里会生成一个新的子元素content

## 选择器的组合

1. 并且(直接一个选择器接一个选择器写就好)

2. 元素与后代元素之间用空格隔开   (.abc .bcd{内容}) 选择器之间用空格

3. 元素>子元素    >后面必须是其前面的子元素,否则就选不中

4. 相邻兄弟元素 +

5. 选中元素后面的所以兄弟元素 ~  

##选择器的并列

多个选择器,用逗号分隔,但执行时是每个元素分开执行的

层叠

声明冲突: 同一个样式,多次应用到同一个元素

![Alt text](5d014a37374960362087d9bffc373c7.jpg)

层叠:解决声明冲突的过程,浏览器自动处理(权重计算)

## 1. 比较重要性

重要性从高到底:

>作者样式表开发者书写的样式

1) 作者样式表中的 !important 样式    

2) 作者样式表中的普通样式  

3) 浏览器默认样式表中的样式

( 在样式后面加一个!important,其重要性会变为最高的)

## 2. 比较特殊性

看选择器

总体规则:选择器选中的范围越窄,越特殊

具体规则:通过选择器,计算出一个4位数(x x x x)

注意这4个数是逢255进一

1. 千位:如果是内联样式,记1,否则记0(内联样式可以不写选择器)

![Alt text](ce9f0db29e3b781ae70f39a6963cf9f.jpg)

2. 百位:等于选择器中所有id选择器的数量

3. 十位:等于选择器中所有类选择器、属性选择器、伪类选择器的数量

4. 个位:等于选择器中所有元素选择器、伪元素选择器的数量

 ![Alt text](f81920f251676506f9afbb6621f46b9.jpg)

 >(属性选择器用.访问;id选择器用#访问)

## 3. 比较源次序

代码书写靠后的胜出

##  应用  

1. 重置样式表

书写一些作者样式,覆盖浏览器的默认样式

重置样式表来覆盖浏览器的默认样式

常见的重置样式表:normalize.css、reset.css、meyer.css

2. 爱恨法则

link > visited > hover > active

继承

子元素会继承父元素的某些CSS属性

通常,跟文字内容相关的属性都能被继承

背景颜色,宽,高不可以被继承

 属性值的计算过程

一个元素一个元素依次渲染,顺序按照页面文档的树形目录结构进行

渲染每个元素的前提条件:该元素的所有CSS属性必须有值

一个元素,从所有属性都没有值,到所有的属性都有值,这个计算过程,叫做属性值计算过程

1. 确定声明值

2. 层叠冲突

3. 使用继承

4. 使用默认值

元素有声明![Alt text](9f13c51c78a633911a0acd45e5b6372.jpg)

元素没声明![Alt text](f40f53ace0359e2e9513320bf96a357.jpg)

可以使用 inherit 对某个属性实行强制继承父元素的值

特殊的两个CSS取值:

-inherit:手动(强制)继承,将父元素的值取出应用到该元素

-initial:初始值,将该属性设置为默认值

 盒模型

box:盒子,每个元素在页面中都会生成一个矩形区域(盒子)

盒子类型

1. 行盒,display等于inline的元素

2. 块盒,display等于block的元素

行盒在页面中不换行、块盒独占一行

display默认值为inlinc

浏览器默认样式表设置的块盒: 容器元素、h1~h6、p

常见的行盒: span、a、img、video、audio

## 盒子的组成部分

无论是行盒、还是块盒,都由下面几个部分组成,从内到外分别是:

1. 内容content

width、height,设置的是盒子内容的宽高

内容部分通常叫做这个盒子的**内容盒 content-box**

2. 填充(内边距) padding

距离大小用多少px,表示

盒子边到盒子内容的距离

padding-lcft、padding-right、padding-top、padding-bottom

padding:简写属性

padding:上 右 下 左(书写顺序)

若上下大小一样,左右大小一样则可以只写两个数据大小

若上下左右都一样则可以只写一个数据大小

填充区+内容区 **填充盒padding-box**

3. 边框 border

边框 = 边框样式 + 边框宽度 + 边框颜色

边框样式:border-stylc

边框宽度: border-width

边框颜色: border-color

边框样式默认为none 即没有边框

若四个边框都是一样的样式则可以简写为border:宽度,样式,颜色

边框+填充区+内容区 =**边框盒 border-box**

4. 外边距margin

边框到其他盒子的距离

margin-top、margin-left、margin-right、margin-bottom

速写属性margin:上 右 下 左(书写顺序)

模型应用

## 改变宽高范围

默认情况下,width 和 height 设置的是内容盒宽高

>页面重构师: 将psd文件 (设计稿) 制作为静态页面

衡量设计稿尺寸的时候,往往使用的是边框盒,但设置width和height,则设置的是内容盒

如何将width和height置为边框盒

1. 精确计算

2. Css3:通过 box-sizing 修改

## 改变背景覆盖范围

默认情况下,背景覆盖边框盒

可以通过 background-clip 进行修改

## 溢出处理

overflow,控制内容溢出边框盒后的处理方式,

默认情况下,溢出边框的内容也会显示

(overflow:auto 可以自动调节滚动条的出现与消失,需要时再出现)

## 断词规则

默认情况下是中文文字之间截断,英文单词之间截断

word-brak,会影响文字在什么位置被截断换行

normal: 普通。CJK(中日韩)字符(文字位置截断),非CJK字符 (单词位置截断)

break-a11: 截断所有。所有字符都在文字处截断(单词内部会进行截断,但中文不影响)

keep-al1: 保持所有。所有文字都在单词之间截断(英文不影响,但中文若一串文字没有空格就会认为是一个文字不截断)

## 空白处理

 white-space: nowrap

该代码只能处理单行文本,多行文本需要用JS处理

 white-space: nowrap;/*不换行*/

 overflow: hidden;/*隐藏多余的文本*/

 text-overflow: ellipsis;/*将隐藏的文本用点代替*/

行盒的盒模型

常见的行盒: 包含具体内容的元素

span,em,i,img,video,audio, strong

## 块盒与行盒的区别

块盒每个盒之间是分开的,且文字结束块盒大小不结束

行盒下一个盒子头部接着上一个盒子的尾巴,且文字结束盒子大小结束

## 显著特点

1. 盒子沿着内容沿伸

2. 行盒不能设置宽高

调整行盒的宽高,应该使用字体大小、行高、字体类型间接调整

3. 内边距(填充区)

水平方向有效,会推动内容移动

重直方向仅会影响背景,不会实际占据空间,及内容不会移动,只是边框在动

4. 边框

水平方向有效,会推动内容移动

重直方向仅会影响背景,不会实际占据空间,及内容不会移动,只是边框在动

5. 外边框

水平方向有效,会推动内容移动

重直方向仅会影响背景,不会实际占据空间,及内容不会移动,只是边框在动

## 行块盒

display: inline-block 的盒子

1. 不独占一行

2. 盒模型中所有尺寸都有效

行块盒通常用来做网页的分页

## 空白折叠

空白折叠,发生在行盒(包括行块盒)内部 或 行盒(行块盒)之间

不可以被修改使其消失

## 可替换元素 和 非可替换元素

大部分元素,页面上显示的结果,取决于元素内容,称为**非可替换元素**

少部分元素,页面上显示的结果,取决于元素属性,称为**可替换元素**

可替换元素: img、video、audio

绝大部分可替换元素均为行盒

可替换元素类似于行块盒,盒模型中所有尺寸都有效

例如: 图片是行盒但是可以改变其宽高

以上就是我这一周的学习啦!!!

我们同一时间同一地点下周不见不散!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值