【前端养成系列02】CSS基础笔记1.0

CSS基础

​ 使用格式: 选择器{内容1;内容2} 注意:这里没有"."

· 常用标签(自行查文档)

​ 1. font-size字号大小;font-family字体;font-weight字体加粗; font-style字体风格(简写顺序:font-style font-weight font-size(不能省) font-family(不能省))

​ 2. 颜色尽量使用十六进制,可简写;rgb(a)形式 #3c3c3c

​ 3. line-height行高(trick:在一行的盒子内,设定行高=盒子高度可使文字垂直居中); text-align水平对齐方式; text-indent首行缩进(em为单位,1em为一个汉字单位); letter-spacing字间距; word-spacing单词间距(只针对英文)

颜色半透明CSS3

​ rgba(z,x,c,v),v范围0~1,表示透明度,越靠近0越透明

文字阴影CSS3

​ text-shadow:水平位置(阴影左右方向动),垂直位置(阴影上下方向动),模糊距离,阴影颜色

可以自己到网页上F12调整完毕后记录数据再回填到css中

· 选择器
类选择器

​ style中:.命名{内容1;内容2}

​ body中的被选元素:class=“命名”

“其中,命名不要用下划线而是短横线,不能用纯数字; 多个类名之间用空格分隔 ”

id选择器

​ style中: #命名{内容1; 内容2}

​ body中的被选元素: id=“命名”

通配符选择器

​ sytle中: * {内容1; 内容2}

​ 作用是选中所有标签

伪类选择器

· 链接伪类选择器(主要针对a),尽量按照lvha的顺序 以上“a”可全用class类名代替

​ a:link{} 未选中时的状态

​ a:visited{} 访问过后的状态

​ a:hover{} 鼠标悬停时的状态

​ a:active{} 鼠标点击时的状态

· focus伪类选择器——把有光标的内容选中显示,主要针对input类型

​ :focus

· 结构伪类选择器

​ :first-child{} 第一个内容

​ :last-child{} 最后一个内容

​ :nth-child(选择第几个){} 自主选择内容

其中,(even)选择出偶数行/个内容,(odd)选择奇数行/个内容;()内也可以写公式,例如2n或2n+1等等

​ :nth-last-child{} 倒数选择

· 目标伪类选择器

​ :target{} 谁被选中谁变化

属性选择器

​ style内:选择器[内容],body中写入相应内容

伪元素选择器

​ 选择单个元素,双冒号::

​ ::first-letter 第一个字

​ ::first-line 第一行

​ ::selection 选中时状态改变

​ ::before 放在盒子内容的“里”前面

​ ::after 放在盒子内容的“里”后面

· CSS样式表

​ 内部样式表

​ 行内样式表 style=“CSS的内容;CSS的内容”

​ 外部样式表(推荐) 外部新开一个文档不需要写

· 标签显示模式
块级元素

​ 1.只要写了就独占一行

​ 2.可以设置宽度和高度、对齐、内边距等等

​ 3.宽度默认是容器的100%

​ 4.可以容纳内联元素和其他块级元素

​ div、p、h、ul、ol、li… 文字类块级元素不能再套块级元素

行内元素

​ 1.相邻行内元素在一行

​ 2.宽高无效,但水平方向的padding和margin可以设置

​ 3.默认宽度就是它本身内容的宽度

​ 4.只能放置其他行内元素和文本(a特殊)

​ a、span、b、strong、ins、em…

行内块元素

​ 行内元素中的特殊标签,可以对他们设置宽高和对齐属性:img、input、td

​ 1.和相邻行内元素在同一行,但之间会有空白缝隙

​ 2.默认宽高是自身宽高

​ 3.高度、行高、内外边距可以设置

标签显示模式转换display

​ 块转行内:display:inline

​ 行内转块:display:block

​ 转换为行内块:display:inline-block

· 复合选择器
交集选择器

​ “.” 连接,单独声明

并集选择器

​ “,” 连接,集体声明

后代选择器

​ 空格连接,继承声明,可以选择儿子、孙子、重孙子

子元素选择器

​ 大于号连接,只能选择儿子

· CSS书写规范

​ · 选择器后面留一个空格

​ · 属性后立刻接冒号,毫号后跟空格

​ · 并集选择器一个选择器单占一行

​ · 选择器嵌套层级不超过三级

· 背景
背景图片引用与重复
背景图片位置
  1. 方位名词表示位置:top、right、left、center、bottom(可以组合表示左上、右下等)

    background-position: 空格连接

  2. 坐标表示:以平抛运动坐标系为坐标系,左上角为图片质点。第一个值是x值,第二个值是y值

  3. 混搭 eg:10px center

背景附着

​ background-attachment:scroll(滚动)/fixed(固定)

背景简写

​ background:背景颜色 背景图片链接 是否平铺 背景位置

背景半透明

​ background:rgba(x,y,z,b)

背景缩放

​ background-size 只写一个值即可,支持px和%

cover(使用更多):等比例填充,溢出部分隐藏; contain:等比例填充,不会溢出

多背景图片

​ 逗号,隔开

凹凸文字

​ 实质:文字+阴影

​ 凸起:text-shadow:1px 1px 1px #000, -1px -1px -1px #fff

​ 下凹:text-shadow:-1px -1px -1px #000, 1px 1px 1px #fff

· 文本的装饰

​ text-decoration

· CSS的三大特性
CSS层叠性

​ 1.样式冲突,遵守就近原则。哪个样式离结构近,执行哪个样式

​ 2.样式不冲突,不会层叠

CSS继承性

​ 子标签会继承父标签的一些特性(text-,font-,line-以及color属性可以继承,并非所有属性都能继承)

CSS优先级

​ ! important> 内部样式表style> id> 伪类= 类> 标签选择器

权重可叠加

​ · 数位之间无进制

​ · 继承的权重为0 !!!

​ step:先叠加计算各种选择器=>看有无继承,继承为0(继承!=后代选择器)=>全都一样就近原则

· 盒子模型
盒子边框
简写语法 border:border-width border-style border-color

​ border-style属性:solid(单实线),dashed(虚线),dotted(点线),double(双实线)

可以自由选择上下左右边框

​ · 表格细线边框(表示边框合并在一起) border-collapse:collapse

​ · 圆角边框 borde-radius:px或%做单位

盒子内边距

​ padding 内容距离边框的距离

简写语法 padding:写一个/写两个/写三个/写四个(顺时针指示)
盒子外边距

​ margin 盒子之间的距离

​ 居中对齐:左右auto,且必须是块级元素、盒子已制定宽度

1.文字水平居中:text-align:center; 盒子水平居中:左右设为auto
2.插入图片更改大小:weight和height,更改位置:margin或padding;背景图片更改大小:background-size,更改位置:background-position	(一般情况用插入图片做展示)
清除内外边距

​ margin:0

​ padding:0

行内元素只有有左右边距,不给设置上下内外边距 此步骤配合通配符几乎必做

外边距合并

​ 设置下边距100px,上边距50px,最后还是相距100px(以最大的为准)

​ 外边框塌陷:解决方法:1.给父级元素设置边框border; 2.给父级元素设置内边距padding; 3.overflow:hidden

计算尺寸

​ 外盒尺寸:width+border+padding(*2)+margin( *2)

​ 内盒尺寸: width+border+padding(*2)

​ 改变任意一属性后,盒子尺寸会变化,需要改动weight或height(但在没有定义宽或高或继承后也没写宽高时改动padding不会影响盒子尺寸)

盒子模型布局稳定性

​ width>padding>margin

CSS3盒模型

​ box-sizing:border-box padding、border不撑开盒子,width即为全部包含的宽度,CSS3新的盒模型

​ box-sizing:content-box 经典盒模型

盒子阴影

​ box shadow:水平(必须) 垂直(必须) 模糊距离 阴影尺寸 阴影颜色 内/外阴影

· 浮动float

· 目的:让多个块级元素在同一行上显示

· 分类:普通流、浮动、定位

· 浮动元素不占高度

浮动可以使多个块级元素放于一行而无白间距,而转为行内块元素会使一行的元素之间有白间距

语法:  float:left/right
标准流父级

​ 浮动的元素总是找离他最近的父级元素对齐,而不会超出内边距的范围;子盒子浮动不会压住父盒子的padding

​ · 兄弟元素在一行,大家都需要加浮动

浮动影响盒子显示模式

​ 块级元素加浮动:行内块

​ 行内元素加浮动:行内块

版心和布局流程

​ 1.确定版心:常见水平居中,宽度一般:960px,980px,1000px,1200px

​ 2.分析页面行模块,再分析行模块中的列模块

​ 3.制作html结构

​ 4.写css,用盒子div+css

几种常见布局

​ 详见html文件

清除浮动(所造成的影响)

​ 一般情况下,由于不知浮动的子元素的尺寸所以父级元素不用写height

​ 但此时子元素添加浮动效果后会造成父级元素高度为0,形成塌陷,进而其他元素跑到子元素底部而非固定于原位置。

​ clear关键字

  1. 额外标签法:在浮动盒子后添加一个空盒子,空盒子设置clear:both (因为添加标签所以少用)
  2. overflow法: 找到父元素,设置overflow:hidden
  3. after伪元素法(空标签升级版):百度写法

4 .双伪元素法:小米、腾讯写法

· PS
移动工作和缩放变形

· 每工作一个部分时记得新建图层

​ ctrl+“+”:放大

​ ctrl+T=选中图片并可以改变大小;

​ 鼠标配合shift键等比例缩放;

​ 将第二张图从导航栏中拿下来后使用移动工具移动图片;

​ 敲回车确定操作;

​ 按住alt拉动图片=复制=ctrl+j

图层操作

​ ctrl+g=新建图片组; shift+ctrl+g=取消

​ shift+鼠标=水平&垂直&45度移动图片

​ ctrl+z=撤销一步;ctrl+alt+z=撤销多步

合并图层

​ ctrl+e操作

抠图

​ ctrl+d=取消选区

​ · 椭圆选区

​ shift+alt=以标准圆为选区

​ · 套索工具(多边形、磁性)

​ · 魔棒工具

​ 大量选择,有容差

​ 连续:有被分割的同舍弃部分不会被选中(高圆圆)

​ ctrl+shift+i=反选

​ · 选区布尔运算

​ 单选、加选、减选、复选

​ · 钢笔工具(对应有横平竖直又有弧线的图片)

​ 鼠标不松开=曲线选择

​ alt点击上一个末位置=重新直线

​ ctrl+回车=抠图

颜色填充

​ 前景色填充=alt+delete

​ 后景色填充=shift+delete

切图

​ · 切片工具

  1. 手动画出导出(backspace取消选取)

存储流程:切片选中=>导出为web格式=>png24格式(常用)=>空格+鼠标浏览长图=>保存选中切片

​ 可以在导航栏设置水平或竖直划分为几片

  1. 利用图层切片

流程:选中图层=>导航栏选择“图层”=>新建基于图层的切片

  1. 利用辅助线切片

流程:拉出参考线=>选择“基于参考线的切片”

· 切片插件

·定位

​ 相对于浮动是为了移动位置

元素的定位属性

​ 1.边偏移(不管有没有padding的值,都按照最外边对齐)

​ 2.定位模式

​ position:模式

​ 完整模式=定位模式+边偏移

静态定位 static————对于边偏移无效,一般用来清除定位

相对定位 relative————不脱离标准流(不同于浮动),相对于自己来移动位置

绝对定位 absolute————脱离标准流(类似浮动)。父级未定位孩子会按照标准网页定位(孩子跑了),父亲有定位(absolute或relative)则以父亲为标准。

完成此效果:父子都加浮动(子绝父相)/只子加相对浮动(不推荐)

​ 绝对定位水平垂直居中

​ 水平步骤:走父盒子的left:50%=>向左走自己外边距负的一半值即可margin-left:npx

​ 垂直步骤:走父盒子的top:50%=>向上走自己外边距负的一半值即可margin-top:npx

固定定位 fixed————总是以当前窗口浏览器为基准,不随上下移动而移动(客服图标)

叠放次序

​ z-index:0/正整数/负整数

定位模式的转换

​ fixed和absolute都会转换成行内块元素

元素隐藏

​ display:none(隐藏)/block(显示)————不保留位置

​ visibility:hidden(隐藏)/visible(显示)————保留位置

overflow

​ visible:不剪切也不显示滚动条

​ auto:超出自动显示滚动条,不超出不显示滚动条

​ hidden:不显示超过对象尺寸的内容,超出部分隐藏

​ scroll:不管是否超出内容,总是显示滚动条

·CSS高级技巧
CSS用户界面样式

· 鼠标样式cursor

​ default(默认小白) pointer(小手) text(文本) move(移动)

· 轮廓outline

​ outline:粗细 | 实虚 | 颜色

outline:0————取消外边线

· 防止拖拽文本域

​ resize:none

· 图片、表单、文字对齐

​ vertical-align:baseline | middle | top | bottom(对块级元素无效),默认的图片会和文字基线对齐

· 去除行内块图片底侧空白缝隙

​ 1. 将img等转换成块级元素block

​ 2. 改成vertical-align:top(用的最多)

· 溢出文字的隐藏

​ word-break:break-all允许单词拆开显示(单词内换行)

​ keep-all不允许拆开(连字符特殊)

​ white-space:normal

​ nowrap(强制文本在同一行)

​ text-overflow:前提是强制在一行显示(white-space:nowrap),其次必须和overflow:hidden搭配使用

​ text-overflow:ellipsis————溢出文字显示为省略号…

CSS精灵技术(sprite)

​ 本质:将一个页面涉及的许多零星图片整合到一个大的图片中去,主要是使用background属性

· 精灵技术的使用

​ 1. 切片先测量出图标宽高和图像坐标

​ 2. style中设置宽高

​ 3. background引入url、background-position:x,y(此处注意坐标值正负)

ps获取 xy值:使用切片,右键编辑切片,查看信息

· 制作精灵图片

  1. 精灵图上都是用来装饰的小图标,插入图片不能往上放
  2. 精灵图宽度取决于最宽的那个背景
  3. 每个小图标间隔开偶数个像素
  4. 最低端留一些空隙以后添加备用

· 使用场景

​ 背景图片/背景图标比较多的时候

字体图标

​ 使用流程:前提是下载好zip文件 1. 声明字体(注意路径问题) 2. 给盒子使用字体(style中) 3. 往盒子里添加元素(两种方式p218)

​ 追加其他图标

· 问题:

​ 1.背景图片用url后不显示————已解决。第一是文件路径不能有中文,第二路径的反斜杠" \ "要改成斜杠“ / ”

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值