html与CSS基础|青训营笔记

92 阅读3分钟

html与CSS基础 | 青训营笔记

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

一、本堂课重点内容:

  • 介绍了html的一些常用标签
  • 介绍了几种选择器及其优先级
  • 介绍了几种布局方式(弹性布局**)

二、详细知识点介绍:

HTML语法

1.属性值推荐用双银引号

2.某些属性值可以省略 eg required readonly

列表

<ol><li></li></ol>
<ul><li></li></ul>
<dl><dt></dt></dl>

input标签

//显示成滑块
<input type="range">
//输入数字
<input type="number" min="1" max="10">
<input type="data">
<textarea>hhhhh</textarea>

<p>
//复选框
  <label><input type="checkbox" />🍎</label>
  <label><input type="checkbox" checked />🍏</label>
</p>

  //单选框
  <p>
  <label><input type="radio" name="sport" /></label>
  <label><input type="radio" name="sport" />🏀</label>
</p>
  

a标签

<a href="www.com">
<a href="www.com" target="_blank"> 
<img src=" " alt="Metal ssss" width="400">

//音频
<audio src="" controls></audio>
//视频
<video src=""controls></video>
<blockquote cite="https">

</blockquote>

<p>我最喜欢的一本书是<cite>小王子</cite>。</p>

//<em> 加强
<p>Tom is <em>gay</em></p>

第二部分 CSS

选择器

id选择器
类选择器
属性选择器(优先级从高到低依次递减)

image.png

<a href="http://example.com">example.com</a>

<label>
  用户名:
  <input type="text">
</label>

<style>
a:link {
  color: black;
}

//访问后的颜色
a:visited {
  color: gray;
}

//鼠标悬停显示颜色
a:hover {
  color: orange;
}

//点击时的颜色
a:active {
  color: red;
}
//
:focus 链接和输入框按下后显示橙色的边框
:focus {
  outline: 2px solid orange;
}
</style>

组合

image.png

选择器组

[type="checkbox"]

显示继承:

*{
    box-sizing:inherit;}
html{
    box-sizing:border-box}
.a{
    box-sizing:content-box
}

CSS初始值

image.png

CSS求值过程

image.png

计算值:浏览器拿到值之后 一般单纯的可以在resolving计算的值了 但有些eg div设置width=100%这种需要实际布局时才能计算的话要放在formatting中

布局layout

  • 常规流
    • 行级
    • 块级
    • 表格布局
    • Flex
    • Grid布局
  • 浮动
  • 绝对定位

image.png

width 百分数相当于所在盒子content box的宽度 height 容器有指定的高度时百分数才生效

PS: margin collapse

以下两个div只有100px相隔

<style>
.a{
height:100px;
margin-bottom:100px
}
.b{
height:100px;
margin-top:100px

}
</style>

块级 vs 行级

块级行级
不和其他盒子并列摆放和其他行级盒子一起放在一行或拆开成多行
适合所有的盒模型属性盒模型中的width,height不适应

image.png

inline-block 本身是行级 不能被拆散成多行

IFC 只包含行级盒子的容易会生成一个容器IFC IFC 内的排版规则

  • 盒子在一行内水平摆放
  • 一行放不下时,换行显示
  • text-align 决定一行内盒子的水平对齐
  • vertical-align 决定一个盒子在行内的垂直对齐
  • 避开浮动(float)元素*

BFC

某些容器会创建一个BFC

  • 根元素
  • 浮动、绝对定位、inline-block
  • Flex子项和Grid子项
  • overflow 值不是 visible 的块盒
  • display: flow-roo

display :overflow-hidden

不允许块行同级 so创建两个匿名的块级元素

image.png

flex布局

flex布局能够控制子元素的布局 flex布局能使div大小根据其内容大小来定 flex默认流向从左到右 可以通过flex-direction改变

image.png

主轴侧轴

主轴:justify-content

image.png 侧轴: align-items(默认stretch)

image.png

flexibility弹性

image.png

.{
flex-grow:2;//原宽度×2
flex-shrink : //压缩
flex:100px = flex-basis:100px 就是宽度100
flex:2 1 //grow 2 shrink 1

}

grid布局

flex是单一方向的布局形式(水平) grid是二维的(水平竖直) 如图:

image.png grid布局是根据图中 1 2 3 4 的位置来进行区域划分的

image.png

三、课后个人总结:

html是做内容的 而不是样式的,css传递的是样式

display:inline-block是行级布局 整体是行 但行的内部可以换行的 不要搞错

flex弹性布局是很常用的布局方式,还要多了解其不同的布局方式