学习1

html css学习第一周

注释

<!DOCTYPE html>文档声明
<html lang="en">根元素
<head>文档头不会显示在页面上
    <meta charset="UTF-8">附加信息网页编码集
    <meta http-equiv="X-UA-Compatible" content="IE=edge">  
    <meta name="viewport" content="width=device-width, initial-scale=1.0">适配手机端
    <title>Document</title>网页标题
</head>
<body>
    
</body>

元素决定含义,与展示效果无关,所有页面展示效果与CSS有关
浏览器带有默认CSS样式
重要:选择什么元素,取决于内容含义而不是显示效果
h1*<{文本}+tapchuang’jian’biao’ti
$递增字符
lorem按tab 随机生成字符
空白折叠:空白字符只会被折叠成一个空格
例外:在pre有默认css属性元素中的内容会按源代码显示内容,在网页中显示代码,不会出现空白折叠,

显示代码时,外面套code元素表示代码区显示给页面

html实体

实体字符 Html Entily,通常用于页面显示一些特殊符号
1.&单词;
2.&#数字;
小于符号<
大于符号>
空格字符 
版权符号©
&符号&

a元素

超链接
a*6>{章节$} 按tap键生成

href 属性,

1表示跳转地址
2 跳转到当前页面的不同位置,锚点
id属性:全局属性,表示元素正在文档中的唯一标号
3.功能链接
点击后触发某个功能
-执行js代码
-发送邮件 mailto:(要求安装exchange软件)
-拨号 tel或者移动端

((h2[id="xxx"]>{章节$})+p>lorem100)*6 
a[href="chapter$"]*6>{章节} 按tab键
生成6个,在按tab键生成,+表示兄弟级元素,
lorem后可以跟数字
可将1改为美元符号
href="#"回到顶部

title属性 鼠标放置显示信息

target属性

表示跳转窗口位置
取值 _self当且页面打开默认
_blank在新窗口打开

元素的包含关系由元素内容决定

选择器:精准选中想要的元素

简单选择器

  1. ID选择器id选择器
    #+id的名字

  2. 元素选择器

  3. 类选择器

  4. 通配符选择器
    *表示选中所有元素
    *{
    color :red
    }

  5. 属性选择器
    根据属性名和属性值选中元素
    [href]{ }表示选中所有具有href的元素
    [href=" "]{ }表示选中href这个值的元素

attr是属性名

[attr=value]表示带有以attr命名的属性元素,属性值为value
[attr~=value]并且该属性是一个以空格作为分隔的值列表,其中至少一个值匹配value
[attr|=value] 属性值为value或者value-为前缀开头,典型的应用场景是用来应用匹配语言见写代码

  1. 伪类选择器
    选中某些元素的某种状态
    3. a:hover{
    选中a元素鼠标悬停时的a 元素
    }
    4. a:active{
    鼠标按下时的a元素
    }

    1. link:超链接未被访问时的状态
    2. visited:超链接访问过后的状态
      lvha
  2. 伪元素选择器
    span::before/befer{
    content:"《"
    }

生成并选中某个元素内部的第一个子元素或最后一个子元素

##选择器组合
1.并且(连着写后面不加任何符号)
2.后代元素 空格
3.子元素>
4. 相邻兄弟元素+
5. 后面会出现的所有兄弟元素~

选择器的并列

多个选择器用逗号分隔
语法糖

1.id选择器
#+id的名字

2.元素选择器

3.类选择器
属性class
.+名字{

}
对元素使用class=“名字 名字 名字”
eg:
.big-center{
font
}

内部样式表

写在style元素的属性中

外部样式表

html页面外部
在head元素中使用link元素
1.外部样式表可以解决多页面样式重复
2.有利于浏览器缓存,从而提高页面响应速度
3.有利于页面分离,HTML和CSS,易于维护和阅读

常见样式声明

  1. color元素内部文字颜色
    预设值定义好的单词
    三颜色,色值:光学三原色(RGB)每个颜色可用数值0~255之间的数字来表达,0表示无色,255表示最大
    rgb表示法(0,0,0)
    hex十六进制 #008c8c绿色
    淘宝红#ff4400 ,#f40
  2. background-color
    元素背景颜色
  3. font-size
    元素内部文字尺寸大小
  1. px像素,绝对单位,简单理解文字高度占多少个像素
    2)em:相对单位,相对于父元素的大小
    每个元素必须与字体大小,若没有声明直接使用父元素大小,如果无父元素使用基准字号(浏览器自默认设置的)
    user agent ,UA,用户代理(浏览器)
  1. font-weight
    文字粗细程度,可以取预设值默认norm400px bold加粗 700px
    strong ,em元素加粗,强调内容

  2. font-family;
    必须用户计算机中存在的字体才有效
    默认非衬线字体sans-serif字体的边缘还没有经过修饰

  3. font-style
    字体样式用于设置倾斜

    i元素默认样式是倾斜字体,

  4. text-decoration
    文本修饰,给文本加线

    废弃元素
    s元素表示过期的

  5. text-ident
    缩进 可写像素10px或者
    写2em表示缩进两个中文字符

  6. line-helight
    每行文本的高度,该值越大,每行文本占的像素,调整文本的距离高度
    设置行高为容器的高度,可以让单行文本垂直居中
    行高可以设置为纯数字表示相对于当前元素字体大小
    line-height:1.5

  7. width宽度 heigt高度

  8. text-align
    元素内部文字的水平排列方式

  9. letter-space
    文字间隙

css层叠样式表

层叠(权重计算):结局生命冲突的过程,浏览器自动处理

  • 声明冲突:同一个样式,多次应用到同一个元素

1.比较重要性

重要性从高到低
1)作者样式表(开发者)中的!important样式
2)作者样式表中的普通样式
3)浏览器默认样式表中的样式
.类选择器 #id选择器 a<>元素选择器

2.比较特殊性

总体规则:选择器选中的范围越窄越特殊
具体规则:通过选择器计算一个四位数XXXX

  1. 先看千位,如果是内联样式(写在某个元素内部的样式) 记1 否则记0
  2. 看百位:等于选择器中所有id选择器的数量
  3. 十位:等于选择器中所有类选择器,属性选择器,伪类选择器的数量
  4. 等于选择器中所有元素选择器,伪元素选择器的数量

3.比较源次序

代码书写靠后的胜出

应用

  1. 重置样式表,书写一些作者样式表,覆盖浏览器默认样式
    重置样式表——》覆盖浏览器的默认样式
    常见的重置样式表:normlize.css,reset.css, meyer.css

属性值的计算过程

一个元素一个元素依次渲染,顺序按照页面文档的树形目录结构进行

              meta
       head->
              title
html->  
       body->h3 p a img
   渲染每个元素的前提条件:该元素的所有CSS属性必须有值
  • 一个元素从所有属性都没有值到所有属性都有值,这个计算过程,叫做属性值计算过程
    两个特殊css取值
    -inherit:手动(强制)继承,将父元素的值去除应用到该元素
    -initial: 初始值,将该元素设置为默认值
    属性值计算顺序
  • 无属性值->1.确定无层叠冲突声明值->2.层叠冲突->3.使用继承->4.使用默认值->每个属性都有值 *

盒模型

box:每个元素在页面中都会形成一个矩形区域(盒子)

盒子类型:
行盒:display等于inine的元素
块盒,display等于block的元素
行盒在页面中不换行,块盒独占一行
span在行内定义一个区域或者一行被划分为好几个区域 display默认inline
浏览器默认样式表设置的
块盒:容器元素h1~h6 div p
常见的行盒:span a img video audio

盒子的组成部分

块盒
无论是行盒还是块盒都有下面几个部分组成,从内到外分别是:
1.内容content width height设置的盒子内容的宽高
内容部分通常叫做整个盒子的 内容盒 content-box

2.填充padding(内边距) 盒子内容和边框的距离
padding-left padding-right padding-top padding-bottom
简写属性padding: 50px 30px 50px 30px上右下左
直接写每个像素或者只写两个表示上下和左右
填充区+内容区=填充盒padding-box

3.边框border
如果四边都是对称的可以用速写属性border:宽度 样式 颜色
边框=边框样式+边框宽度+边框颜色
速写属性或者简写属性:边框颜色border-width 也可以写四个表示上右下左或者写两个表示上下左右
速写属性或者简写属性:边框样式border-style默认none 实线solid 也能写四个
速写属性或者简写属性:边框颜色border-color默认字体颜色
边框+填充区+内容区=边框盒border-box

4.外边距marign 盒子与盒子的距离
边框到其他盒子的距离
marign-top//bottom//left//right

盒模型的应用

默认情况下,width和height设置的时内容盒宽高
box-sizing: border-box改变宽高的影响范围
页面重构师

改变背景覆盖范围

默认情况下,背景覆盖边框盒
可以通过background-clip进行修改

溢出处理

overflow,控制内容溢出边框盒的处理方式
默认情况下 可见的visible 隐藏hidden
生成滚动条 scroll

##断词规则
work-break,会影响文字在什么位置被截断换行
norml:普通。CJK字符(中日韩在文字位置截断),非CJK在单词处截断
wod-break:break-all截断所有,所有字符都在文字
处截断
keep-all保持所有,所有文字都在单词之间截断(中文就一直显示)

空白处理

white-space: nowrap;空白处理,仍然会空白折叠,字符不换行
white-space: pre;不会空白折叠
nowrap

不会空白折叠 

overflow: hidden;溢出隐藏
text-overflow: ellipsis;溢出显示…
如果不溢出则这三个不生效只能用于单行文本

行盒模型:宽高无效

常见的行盒:包含具体内容的元素
span、strong、em、i,img,audio,

显著特点

  1. 行盒跟着内容延伸,宽高取决于内容大小,不能设置宽高
  2. 调整行盒宽高使用调整字体大小,行高,字体类型来间接调整
  3. 内边距padding
    水平方向有效,垂直方向只会影响背景,不会影响文字实际占据空间。
  4. border边框
    水平方向有效,垂直方向只会影响背景,不会影响文字实际占据空间。
  5. 外边距marign
    水平方向有效,垂直方向只会影响背景,不会影响文字实际占据空间。

行块盒

display:inline-block 的盒子

  1. 不独占一行
  2. 盒模型中所有尺寸都有效
    空白折叠发生在行(块)盒内部和行(块)盒之间

可替换元素 和 非可替换元素

大部分元素,页面上显示的结果,取决于元素内容,称为非可替换元素
少部分元素,页面上显示的结果,取决于元素属性,称为可替换元素
可替换元素:img,video,audio
绝大部分可替换元素均为行盒
可替换元素类似于行块盒,盒模型中所有尺寸都有效

盒模型:规定单个盒子的规则
视觉格式化模型(布局规则):页面中多个盒子排列规则
视觉格式化模型大体上将页面中的盒子排列分为三种方式:
1.常规流
2.浮动
3.定位

常规流

常规流布局

常规流,文档流,普通文档流,常规文档流
所有元素在默认情况下都属于常规流布局
总体规则:块盒独占一行,行盒水平依次排列
包含块(containing block):每个盒子都有它的包含块,包含块决定了盒子的排列区域
绝大部分情况下:盒子的包含块为其父元素的内容盒

块盒

  1. 每个块盒的必须总宽度刚好等于包含块的宽度,宽度的默认值时auto
    auto:将剩余空间吸收
    width的吸收能力强于marign
    若宽度,边框,内边距,外边距计算后仍有剩余空间,该剩余空间被marign-right全部吸收
    在常规流中,块盒在其包含块中居中,可以定宽,然后左右marign设置为auto

  2. 每个块盒 垂直方向 上 的auto值
    height: auto,适应内容高度
    mairign: auto表示0

  3. 百分比取值
    padding,宽,marigna可以取值为百分比
    以上所有百分比相对于包含块的宽度
    高度的百分比:
    1). 当包含块的高度取决于子元素的高度时,设置百分比无效
    2). 包含块的高度不取决于子元素的高度时,百分比相对于父元素的高度

  4. 上下外边距合并
    上和下外边距相邻就合并了
    两外边距取最大值

浮动

应用场景

  1. 文字环绕
    图片里面加一个浮动
  2. 横向排列

浮动的基本特点

修改float属性值:
-left:左浮动,元素靠上靠左
-right:右浮动,元素靠上靠右

默认值是none常规流

  1. 当一个元素浮动后,一定为块盒(更改display属性为block)
  2. 浮动元素的包含块,为父元素的内容盒

盒子尺寸

  1. 宽度为auto时,适应内容宽度
  2. 高度为autO时适应内容高度
  3. marign为auto为0 ,不吸收
  4. 边框内边距百分比设置与常规流一样

盒子排列

  1. 左浮动盒子靠上靠左排列
  2. 右浮动盒子考上靠右排列
  3. 浮动盒子在包含块中排列时会避开常规流盒子
  4. 常规流块盒在排列时,无视浮动盒子
  5. 行盒在排列时会避开浮动盒子
  6. 如果文字没有在行盒中,浏览器会自动生成一个行盒包裹文字,该行盒叫做匿名行盒
  7. 外边距合并不会发生

高度坍塌

高度坍塌的根源:常规流盒子的自动高度,在计算时不会考虑浮动盒子
清除浮动,涉及css属性:clear
-默认值none
-left:清除左浮动,该元素必须出现在前面所有左浮动盒子的下方
-right:清除右浮动,该元素必须出现在前面所有右浮动盒子的下方
-both:清楚左右浮动,该元素必须出现在所右浮动盒子的下方
解决高度坍塌:

.clear-fix::after{
    conten:"";
    display:block;
    clear:both;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值