前端之路从零开始——第一周笔记

开通博客记录一下我在学习前端路上的点点滴滴,有我的笔记,也有过程中所遇到的问题,希望能帮助到有需要的人!这是我的第一篇,可能有点乱,但是我会不断摸索改进的。
第一周笔记主要写了一些关于html基础的知识,一些标签(html5以后添加),还有css的选择器及其权重内容。

1.网页的组成部分

  • HTML:是一门标记语言,网页的基本结构
  • CSS:是层叠样式表,网页的美化装饰
  • JS:javascript,是一门脚本语言,网页的交互效果

2.HTML的梳理

HTML的语法

  • 由左右尖括号组成
  • 中间是小写的标签名
  • 由开始标签和结束标签组成,而且结束标签做一个反斜杠
  • 有的标签没有结束标签,这种标签叫做单标签或者自闭和标签,例如<meta>
  • 可以用标签名+tab自动生成一组标签

HTML常用标签

  • 常用的四大标签:p a img h1~h6(h1用在大标题或者网页的logo外层)

  • 划分块的标签:

    • div 用来划分大结构的标签,独占一行的块级标签
    • span 用来划分行内的小模块,不独占一行的行内模块
  • 文本格式化类标签:
    斜体标签 em i
    变小变大标签 small big
    加粗标签 srong b
    上标sup 下标sub
    删除线 del

  • iframe标签:嵌入外部网站

  • 三大列表:
    1.无序列表 ul->li 前面是默认的小黑点
    2.有序列表 ol->li 前面是默认的数字
    3.定义列表 dl->dt:定义列表的标题 title
    ->dd:定义列表的描述 description
    注:在列表中插入标签只能插在li里边,不能与li并列

  • table单元表格
    tr 行 td 列 th 列(标题,加粗居中) caption 表格的标题
    border="1" 边框线
    cellpadding="10" 单元格的边距,填充
    cellspacing="0" 单元格的间距,间距
    bgcolor="#6495ed" 背景颜色
    align="center" 水平居中
    colspan="" 合并单元格的列
    rowspan=""合并单元格的行
    border-collapse:collapse 去掉单元格默认的塌陷线
    table-layout:fixed;width:x; 固定算法

  • 表单:input, textarea 多行文本域,select option 下拉框 ,button 点击按钮
    input类型及属性

type="text"
type="password"
type="radio"
type="checkbox"
type="button"
type="submit"
type="reset"
type="file"
type="hidden"
name="" 给单选框进行分类,只能选一个
value="" 初始字段
placeholder=""占位符
readonly 规定输入字段为只读(不能修改)
disabled 规定输入字段是禁用的。 被禁用的元素是不可用和不可点击的。 被禁用的元素不会被提交
size=""规定输入字段的尺寸(以字符计)
maxlength=""输入字段允许的最大长度
autofocus属性是布尔属性。 如果设置,则规定当页面加载时 <input> 元素应该自动获得焦点
required 属性是布尔属性。如果设置,则规定在提交表单之前必须填写输入字段。

  • 标签默认的样式(如何去掉默认样式)
    1.浏览器自带的间距 * {margin:0;padding:0;}
    2.a 标签有默认的下划线 a{text-decoration: none;}
    3.h1-h6 默认加粗 h2{font-weight:normal}
    4.ul li 有默认小黑点、ol li 有默认的数字 li{list-style: none}
    5.em、i 默认变斜 em{font-style: normal}
    6.strong、b 默认加粗 strong{font-weight:normal}

3.行内元素span和块级元素div。

它们的区别可从几方面来着手:1.display值;2.是否独占一行;3.排列方式;4.设宽高的情况以及设盒子模型的其他属性;5.不设宽高的情况;6.嵌套情况;7.默认间距是否受空格或换行符的影响

  • span 行内元素 display:inline
    1.不独占一行,在一行显示
    2.排列方式:左右水平排列(左右结构)
    3.在没有设置宽高的情况下,它的宽高等于本身内容的宽高
    4.是否可以设置宽高以及盒子模型的其他属性(padding border margin) 设置宽高不起作用,margin-top/bottom不起作用,但是浏览器可以识别到,padding-top/bottom不起作用
    5.嵌套注意: 行内元素不能嵌套块级元素,特殊:a中可以嵌套块级元素
    6.默认间距是否受空格或换行符影响: 是

  • div 块级元素 display:block
    1.独占一行,不在一行显示
    2.排列方式: 上下垂直排列(上下结构)
    3.在没有设置宽高的情况下,它的宽高: 宽度 = 父级元素的宽度,高度 = 本身内容的高度
    4.是否可以设置宽高以及盒子模型的其他属性:(padding,border,margin):可以设置盒子模型的所有属性
    5.嵌套注意: 块级元素可以嵌套行内元素也可以嵌套块级元素,特殊: p标签不能嵌套自己本身; ul,ol 后面紧跟着只能是li,其他的标签只能放在li里面;dl后面紧跟着只能 dt 和 dd
    6.默认间距是否受空格或换行符影响: 否

  • 行内块元素:img 既有行内元素的特点,又有块级元素的特点 (img、input、textarea)
    1.display:inline 在一行显示
    2.可以设置宽高和盒子模型的其他属性
    3.默认间距是否受空格或换行符影响: 是

注意:去掉行内块元素默认的间距
1.给父元素加一个font-size:0 ,但是会让子元素里的文字消失,手动添加文字大小即可
2.行或行内元素写到一行内,不让出现换行符,一般不采用。
但是有一个问题,IE 8以下的浏览器中,display:inline-block属性不兼容,解决方法:

*display:inline;
*zoom:1;

4.css引入方式

  • 行内式:css直接写在开始标签里面(不推荐) style=""
  • 内嵌式:css代码从html结构中分离出来
  • 外链式:引入一个外部的css文件<link rel="stylesheet" href="xxx.css">
  • 导入式:导入一个外部的css文件
<style> 
@important "xxx.css"
</style>

导入式和外链式的区别:

  1. link和@import虽然都是引入外部的css文件,但是他们是有天差地别的区别的;
  2. link是html标签,@import完全是css提供的方式,要写在css文件或者style标签中;
  3. 他们的加载顺序也是有区别的,当一个页面被加载的时候,link引用的css文件会被同时加载,而@import引入的css文件会等页面全部下载完后再加载;
  4. 当使用javascript控制DOM去改变css样式的时候,只能使用link标签,因为@import是不能被DOM控制的;

5.选择器

CSS参考手册这是一个很nice的参考网站
1.元素选择器

  • 通配符选择器*(0-1)
  • 标签选择器(1)
  • 类选择器(10)
  • id选择器(100)

2.关系选择器(权重:每个元素选择器权重之和)

  • 后代选择器——每个选择器之间用空格隔开
  • 子代选择器——每个选择器之间用>隔开
  • 相邻兄弟选择器——每个选择器之间用+隔开
  • 兄弟选择器——每个选择器之间用~隔开

3.属性选择器

4.伪类选择器

  • a标签的四种状态(一定按顺序书写 link(访问前)visited(已访问过) hover(鼠标悬停) active(鼠标被点击))
    小方法帮助你记忆:
    l ( : link) o v( : visited) e 喜欢
    h ( : hover) a ( : active) t e 讨厌
  • :not()过滤(排除)选择器
  • 奇偶行
    • :first-child——第一个子元素
    • :last-child——最后一个子元素
    • :nth-child(n)——第几个元素
    • :nth-child(2n+1)——奇数行2n+1或odd
    • :nth-child(2n)——偶数行2n或even

5.伪元素选择器

  • ::before——在前边加一个元素
  • ::after——在后边加一个元素
  • ::first-letter——设置对象内的第一个字符的样式
  • ::first-line——设置对象内的第一行的样式
  • ::placeholder——设置对象文字占位符的样式。
  • ::selection——设置对象被选择时的样式。
原文地址:https://www.cnblogs.com/wangxingren/p/10012989.html