zoukankan      html  css  js  c++  java
  • 前端之路从零开始——第一周笔记

    开通博客记录一下我在学习前端路上的点点滴滴,有我的笔记,也有过程中所遇到的问题,希望能帮助到有需要的人!这是我的第一篇,可能有点乱,但是我会不断摸索改进的。
    第一周笔记主要写了一些关于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——设置对象被选择时的样式。
  • 相关阅读:
    他说
    他说
    request.getParameter() 、 request.getInputStream()和request.getReader() 使用体会
    使用include重用布局
    RxJava学习(一)——简介及其优势
    Android自定义ProgressBar样式
    Android Studio 3.0 新特性
    EventBus用法
    Android将Log写入文件
    Android 编程下 Touch 事件的分发和消费机制
  • 原文地址:https://www.cnblogs.com/wangxingren/p/10012989.html
Copyright © 2011-2022 走看看