HTML&CSS基础|青训营笔记

104 阅读4分钟

这是我参与「第四届青训营 」笔记创作活动的的第1天

该篇文章主要记录在青训营课堂相关重点内容及自己掌握不熟内容,希望笔记可以帮助自己查漏补缺。

一、课堂重点内容

  • html常用标签及重点标签介绍
  • html语义化标签使用及html语义化规范的好处
  • css基础使用,字体设置等等
  • css布局与定位相关技术,flex弹性布局,Grid布局,绝对定位等等

二、课堂主要知识点

第一课 前端与HTML

HyperText Markup Language

1.列表

  • 1.1 有序列表<ol></ol>
  • 1.2 无序列表<ul></ul>
  • 1.3 key-value形式列表 <dl><dt></dt><dd></dd></dl>

2.链接重点属性

属性 target="_blank"(新窗口打开)

3.图片和影像

//img属性alt——图片无法显示时提示文字//音频
<audio
    src = ""
    controls<!--浏览器默认显示-->
>
</audio>
​
//视频
<video
    src = ""
    controls//浏览器默认显示
>
</video>

4.输入

<input placeholder="请输入用户名">
<input type = "range">//可滑动选择框
<input type="number" min="1" max="10">
<input type="data" min="2018-02-10">//日期选择框
<textarea>Hey</textarea>//长文本框
<lable><input type="chekbox"/></label> //选择框 type="radio"只能选一个
​
//下拉选择框
<select>
    <option></option>
</select>
​
//加属性给用户提示
<input list = "countries"/>
<datalist id="countries">
    <option></option>
    <option></option>
</datalist>

image.png

5.文本

<!--快捷长引用-->
<blockquote cite="http://">
    <p>
        锄禾日当午
    </p>
</blockquote><!-- 短引用 cite标签 引用作品名字 斜体 q标签是具体内容引用-->
<p>
    我喜欢<cite>小王子</cite>
    沃兹基硕德讲过<q>balabaa</q>
</p><!--引用代码-->
<pre><code></code></pre><!-- 表示强调 strong加粗 em斜体-->
<strong></strong>
<em></em>

6.内容划分

image.png

7.html语义化好处

  • 代码可读性
  • 团队可维护性
  • 搜索引擎优化
  • 提升无障碍性

8.html总结

在学习html时,要注意html语义化规范,而不是求简单方便滥用标签。对于html的一些重要标签,要多回顾练习,以求能够熟练使用。

第二课 CSS基础

Cascading Style Sheet 层叠样式表

1.一些选择器

通用选择器 *

id:#

属性选择器

伪类

伪类分为状态性伪类和结构伪类

  • 状态性伪类
    a:link{}//默认状态
    a:visited{}//访问过
    a:hover{}
    a:active{}
    :focus{}//输入框
    
  • 结构伪类
    li:first-child{}//选中第一个li
    li:last-child{}
    
组合

image.png

选择器组

可选用type类型进行选择

body,h1,h2,h3,h4,ul{
    margin:0;
    padding:0
}
​
[type="checkbox"],[type="radio"]{
    box-sizing:border-box;
    padding:0
}

2.颜色字体

颜色 alpha 透明度 rgba(255,0,0,0.5)

字体 font-family

大小 font-size(em是相对的单位)

字重 font-weight:100

行高 line-height

使用Web Fonts

<style>
@font-face{
    font-family:"Megrim";
    src:
        url(http://) format('woff2')
}
</style>

显式继承

一些属性是不会继承的,配置inherit属性就可以

*{
    box-sizing:inherit;
}
//原本不会被继承的box-sizing属性设置后即可被继承
​
html{
    box-sizing:border-box
}

3.CSS

image.png

image.png

image.png

4.布局

三种布局相关技术:

常规流、浮动和绝对定位 image.png

  • width——指定content box宽度(长度 百分数 auto)
  • padding——指定元素四个方向的内边距(四个值——上右下左;两个值——上下、左右)
  • border——指定容器边框样式、粗细和颜色(三种属性 border:1px solid #ccc [border-width、style、color] 可组合border-left-width)
  • margin——指定元素四个方向的外边距(长度 百分数 auto)

    • 使用 margin:auto——水平居中
    • margin collapse 折叠
  • box-sizing:border-box(宽高包括整个border在内的宽高) image.png

  • overflow:hidden --处理溢出内容 overflow:scroll--滚动

  • image.png

常规流

常规流分为行级布局、块级布局、表格布局、Flex弹性布局和Grid布局

  • 根元素、浮动和绝对定位会脱离常规流
  • 其他元素都在常规流之内(in-flow)
  • 常规流的盒子,在某种排版上下文中参与布局

image.png

  • display属性

    • block 块级盒子
    • inline 行级盒子
    • inline-block 本身是行级,可以放在行盒中;可以设置宽高;作为一个整体不会被拆散成多行
    • none 排版时完全被忽略
行级

Inline Formatting Context(IFC) 遵守IFC排版规则 image.png

  • text-align:center水平居中
  • vertical-align:center垂直居中
块级

Block Formatting Context(BFC) image.png

image.png

Flex Box 弹性布局

image.png

默认存在两轴:默认主轴(水平方向)与侧轴(垂直方向) 使用flex-direction属性可更改默认主轴 image.png

  • display:flex 弹性布局
  • 在主轴方向对齐 image.png
  • 一般用justify-content:center
  • 在侧轴方向上(align-items) image.png

  • Flexbility image.png 根据弹性能力填满整个盒子,c没设置则保持原长,ab以2:1撑满剩下的盒子 image.png flex相关数据显示 image.png

Grid布局(二维)

image.png image.png 划分网格 image.png image.png

网格线划分 image.png

float浮动

float:left

用途:图文混排

position属性
  • static:默认值,非定位元素

  • relative:相对自身原本位置偏移,不脱离文档流,原本位置还是会被占用 image.png

  • absolute:绝对定位,相对非static祖先元素定位(父级先找relative,再往上找),脱离文本流,不会为元素预留空间 image.png

  • fixed:相对于视口绝对定位(适合相对视口保持静止不会动的导航栏

    position:fixed

  • 粘性定位 Sticky

    相对浏览器可视窗口移动,脱离文档流

5.css总结

css用于页面外观美化、控制页面布局,有很多属性与语法需要学习掌握,要多练习回顾。