前端基础知识汇总 -- html and css

前端基础知识汇总 – html and css

web标准三大组成部分: html(结果)、css(表现)、js(行为)
浏览器的作用:将代码解析成网页,给用户访问。
网页:包含文字、图片、超链接、视频、音频等。

HTML(Hyper Text Markup Language)超文本标记语言

(说明:在浏览器上的一种标记语言,给文本加上有含义的标签)

  1. html骨架结构 (编译器的快捷键: html:5 + tab 或 html!)
<html>
	<head>
		<title>我是标题</title>
	</head>
	<body>
		// 我是内容
	</body>
</html>
  1. a标签:
<a href="#"  target="_blank">我是a标签</a>

href 值为跳转的路径, # 表示不跳转;
target 值为跳转后页面是进行页内跳转还是新开页面跳转,有_blank 新开页面, _self 页内跳转,即当前页,a标签的默认值。
相关:base 为页面所有的a标签设置跳转方式

<base target="_blank"></base>  // 全文
  1. 提升网站排名方式:

a.花钱; 简单粗暴, 缺点:烧钱; 优点:效果明显;
b…html 静态页面
c.发外链
d.页面的友好性(编写有语义化的结构代码,在合适的地方使用合适的标签)

  1. 搜索引擎
    本质上是百度的一个程序(爬虫)
    任务:不停的爬取不同的网站,查看网站的内容

  2. 语义化标签的优点
    a.对搜索引擎友好;
    b.提升用户体验;
    c.利于代码的可读性,维护,提升开发效率。

6.表格

<table>
	<tr>   // 行
		<td></td>   // 单元格
	</tr>
</table>

属性
border: 边框
width:
height:
cellspacing: 单元格之间的空白
cellpadding: 边框、内容之间的空白
align: 居中

其他标签
th: 表头(居中加粗)
thead: 存放表头
tbody:
tfoot:
caption: 表格题

合并单元格
左上原则: 最左、最上
纵行: rowspan 跨行
横行: colspan 跨列

  1. input 框
<input type="checkbox" value name>
// 下拉框
<select>
	<options selected> 2020年 </options>  // selected 默认
	<options> 2020年 </options>
</select>
// 文件框
<input type="file">
// 文本域
<textarea cols="30" rows="10">
</textarea>
<input type="submit">
<input type="reset">
<input type="button">
  1. label 标签
<label> 标注 </label>

作用: 让文本绑定到一个表单元素上
有以下两种方式:
法一: 使用for

<input type="radio"  id="nan">
<label for="nan">男</label>

法二:默认绑定label内的表单控件

<label>
	<input type="checkbox"> 学习
</label>
  1. Html 5 新增语义标签
    a. header、nav、footer、article、section、aside
    b. type属性:
    date
    time
    week
    number
    search
    color
    range
    其他表单新属性: placeholder 提示信息; autofocus: 自动获得焦点; multiple:多文件上传
    c.音频标签
<audio src autoplay controls loop></audio>
 // 多浏览器的支持方案
 <audio src autoplay controls loop>
 	<source src></source>
 	<source src>不支持请下载 <a>跳转</a>
   </source>
 </audio>
  1. 视频标签
<video></video>

宽高指定一个即可,一般以小的为基准

CSS (cascading Style Sheets) 层叠样式表 => 默认多个样式之间会相互层叠

注意:
如果{} 内有; 没加,那么该{} 内后面的下一个样式都不会起作用。

  1. font 字体
font-size
font-weight  // 粗细 (1-900, bold)
font-style  //  字体样式 italic oblique normal
font-family // 字体类型
font: font-size font-weight font-size font-family
  1. 选择器

    (1)类选择器
    a. 一个类可以作用于多个标签
    b.一个标签可以设置多个类
    c. 多个类名间用空格隔开

    (2)id选择器与类选择器的命名规则:
    命名的组成部分: 字母、数字、下划线组成,且不能以数字开头。

  2. css引入的三种情况
    (1)嵌套样式
    存放位置:head标签内,title标签下面
    作用范围:当前整个页面
    (2)行内样式
    存放位置: 直接写在标签style属性里面
    作用范围: 只能作用于当前元素
    应用:比较有限,当作需将样式只作用于当前标签使用
    (3)外联样式
    存放位置: 另一个css文件中,通过link引入
    作用范围: 可以作用于多个页面
    应用: 存放一些公共通用样式

  3. text属性

text-indent  // 首行缩进 取值2em 表示两个字距离
text-aign  // 用于设置容器内容的对齐方式 left center right
text-decoration // 设置a标签的文本装饰 none under line-through
  1. CSS的三大特性
    (1)继承
    (2)层叠
    (3)优先级

(1)继承
作用
子元素可以继承父元素的属性样式
特殊性
a. a标签的颜色不能通过继承修改,若非要修改a标签的颜色,需直接作用于a标签
b.h标签的大小不能通过继承设置,必须设置
c. div的高度若不设置,由内容决定,若没有内容,高度为0;宽度默认继承父元素的宽度

(2)层叠性: 浏览器处理冲突的一个特性
作用
若两个选择作用于同一个元素,并且设置同一个属性,其中一个属性被层叠,作用于同一个元素的不同属性,则不会;

(3) 优先级
!import < 行内样式 < ID选择器 < 类选择器 < 标签选择器 < 通配符 < 继承

权重计算
公式:(0,0,0,0) --> (!import, ID选择器, 类选择器, 标签选择器)

选择器的工作原理: 从右往左找

  1. 伪类
    与选择器相似,但又不同
    (1)锚伪类
    a:link 给a标签设置未访问过的样式
    a:visited 给a标签设置访问过的样式
    a:hover 鼠标悬停的颜色
    a:active 被点击激活时饿样式

注意
书写时顺序要求::link :visited :hover :active
hover 也可给其他元素设置

  1. 行高的分析
    应用 只要设置行高和容器高度一致,让一个容器中的文字垂直居中
    行高 w3c中定义,文字基线与基线的距离为行高;上边距等于下边距;所以文本会在当前行中居中
    总结 只需要设置文字的行高和容器高度一致,就可以让文本在容器中垂直居中

  2. 盒模型的基本思想
    border 边框
    padding 内边框
    content 内容
    border-color border-style border-width
    border-top-style: solid; 实线;dashed 虚线
    border-collapse: collapse 设置表格边框是否被合并为一条线

特殊情况
当一个大盒子包含一个小盒子,且都是块级元素,小盒子的宽度会继承父元素,这个时候给小盒子加padding 不会撑大小盒子的大小。

  1. margin 的两种特殊情况
    (1)外边距合并现象
    两个盒子上下排布,给上面的盒子设置margin-bottom, 下面的盒子设置margin-top 会发生外边距合并现象,最终合并成最大的那个。

(2)margin塌陷
大盒子包含一个小盒子,给小盒子设置一个margin-top 父盒子会一起掉下来
解决方案
a. 给大盒子加上border:1px solid blue;
b.给父盒子加点 padding-top
c.给父盒子设置 overflow:hidden; 本质上触发了BFC,块级格式上下文
d. 浮动也可解决塌陷,给子元素加float: left;

  1. 浮动
    作用 为了解决一行中显示多个盒子的问题(并且这些盒子是可控的)
    特点
    标准流:浏览器默认摆放盒子的顺序: 从左往右,从上往下
    (1)脱标: 浮动的元素会脱离标准流,在页面不占位置了
    (2)浮动以后的元素会覆盖在标准流的元素之上
    (3)浮动的规则: 浮动找浮动,不浮动找不浮动
    (4) 浮动之后的位置与不浮动之前的位置是对应的
    (5)浮动的重点: 浮动的元素只会影响下面的元素
    (6)浮动的元素会改变显示的方式,不管是行内元素还是块级元素,都会在一行显示,而且可以设置宽高跟行内块的显示方式很像。

清除浮动
(1)浮动的负面影响
若一个大盒子里有一个小盒子,大盒子没有高度,默认应该是被内容撑开,但这个唯一的小盒子浮动了,不占位置,大盒子高度为0,下面的盒子都补位上来了。所以我们需要清除浮动。

float: left;
float:right;
clear:both;

(2) 额外标签法
步骤
给浮动的父元素添加一个新的块级子元素,给这个子元素设置clear: both 就可以清除浮动啦~
缺点
使用这种方式,每次清除浮动都要添加一个额外的标签,会让页面变得冗余。

(3) overflow: hidden
步骤
给浮动的父元素添加一个属性 overflow:hidden;
缺点
overflow: hidden; 溢出隐藏,若将来有子元素跑到了父元素区域范围之外,就会隐藏掉。

(4) 伪元素法
伪元素法: 页面中不存在的元素,可以通过css设置
注意
a. 伪元素是行内元素,可以通过display更改显示方式
b.伪元素必须设置content属性

.clearfix {
	content: '';
	clear: both;
	display: block;
	height: 0;
	line-height: 0;
	visibility: hidden;
}

(5) 设置宽高,也可以解决浮动的影响
缺点 父元素高度定死了,若子元素的高度是不定的,最终的效果是不好的。

(6)定位
作用 解决盒子与盒子之间层叠的问题
小细节 定位的元素,后面的元素层级比前面的元素要高。

  1. vertical-algin属性 设置垂直对齐的方式
    行内块,默认会和文本的基线对齐
    vertical-align 的取值 baseline 基线对齐(默认值) bottom 底部对齐
    top 顶部对齐 middle 中线对齐
    注意 块级元素对vertical-align无感,所以没有下边的间隙问题

  2. overflow
    (1) 溢出隐藏:overflow: hidden; 溢出部分隐藏
    (2) visibility: hidden; 让元素隐藏,但占位置
    (3) display: none; 元素隐藏且不占位置

  3. 布局原则
    布局原则 宽高的稳定性 > padding的稳定性 > margin的稳定性
    其他规则
    (1)行内元素里面只放行内元素(a标签除外)
    (2)块级元素里面只能放块级元素和行内元素 (p/h/dt等)
    (3)p/h 系列 dt一般用于存放文本内容,里面不适合放块
    (4) a标签里不能放a标签

14.CSS扩展
(1)属性选择器 (用于表单控件)
a.选中所有有 ** 属性的li属性

li[skill] {}

[...] 只有有 ... 属性即可
[=] 完全等于
[^=] 只要以 ... 开头即可
[*=] 只要包含
[$=] 只要以 ... 结尾即可

(2)text-shadow 盒子阴影
text-shadow: x, y, >0 x:水平偏移; y: 垂直偏移; 模糊度: > 0;外延值;颜色

(3)双伪元素
after 用于清除浮动; before 防塌陷

.after {
	clear: both:
}
.before { 
	content: '';
	display: table;
}
  1. animation 动画
    animation: name, duration, iteration-count, direction
    direction 动画方向交替 alternate
    delay 延时
    animation-fill-mode 停止的效果 forwards
    animation-timing-function 动画效果 ease --> 缓动, linear --> 匀速
    animation-play-state 动画状态,动画停止 paused

  2. background-size
    作用 可以设置背景图片大小
    contain 包含
    优点 图片能够显示全,不会失真;
    缺点 可能会留白

cover 覆盖,填满
优点 没有失真,不留白
缺点 图片可能显示不全

  1. 线性渐变 linear-gradiant
    (1)方向 to right to left to bottom to top
    (2)颜色
    (3)范围
    eg: backgroung-image: linear-gradiant(to right, blue, 0%, red, 100%)

  2. 径向渐变 radial-gradient
    (1) 圆心
    (2)半径
    (3)颜色 范围
    eg: background-image: radial-gradien (半径at, 圆心位置, 颜色范围, 颜色范围)
    特点 没有作用到的范围,用最外面的颜色填充

  3. opacityrgba的区别
    rgba 透明的背景色,里面的盒子不透明
    opacity 整个盒子的透明度, 里面的盒子也会透明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值