@

目录

标签

块标签

  • div 无语义标签 分块
  • p 段落标签 只能嵌套行标签
  • h1~h6 标题
  • hr 分割线
  • br 换行符
  • ul,ol,li 列表

行标签

  • img 图片 src alt title
  • span 无语义标签
  • input type value:默认值 placeholder
  • a 超链接 href target

行块转化

  1. display:行标签/块标签/行块标签;
  2. 1.inline 行标签 displayinline —— 块标签转换行标签
  3. 2.block 块标签 displayblock —— 行标签转换块标签
  4. 3.inline-block 行块标签 —— 既有行标签属性 又有块标签属性

绝对地址:网址

相对地址:相对于某个文件的地址 ../:返回上一层目录 如果同一级直接写文件名即可


嵌套规则

css引入方式

行间样式

  1. <a href="" style="color: black;">新闻</a>

内部引入

  • 在head中添加style标签,在style标签中写选择器

外部引入

  • 创建css文件
  • 在html文件的head标签中,使用link标签将css文件引入
  1. <link rel="stylesheet" type="text/css" href="css/index.css" />

行间样式优先级最高,内部引入和外部引入在选择器的优先级相同时,看执行顺序


选择器

基础选择器

  • 通配符选择器

    匹配页面上所有的标签

    1. *{
    2. color: red;
    3. }
  • 标签选择器

    用标签名即可

  • 类选择器

    可以同时给多个标签设置

    语法:

    选择器: . + 类名

    1. .name{
    2. color: yellow;
    3. }

    标签上进行绑定: class="类名"

    1. <p class="name">mini</p>
  • id选择器

    只能给页面中一个标签设置

    语法:

    选择器: # + id名

    1. #name{
    2. color: yellow;
    3. }

    标签上进行绑定: id="id名"

    1. <p id="name">mini</p>

选择器优先级

id选择器 > 类选择器 > 标签选择器 > 通配符选择器

组合选择器

由基础选择器组成(通配符除外)

  • 后代选择器

    注意优先级问题(使用检查帮助查找问题)

    1. div a ...{
    2. color: lightblue;
    3. }
  • 群组选择器

    1. a,p{
    2. color: red;
    3. }

盒模型

父子关系用padding,兄弟关系用margin

  • border

    边框:

    语法: border:宽度 样式 颜色; -> 四个方向

    样式: solid dashed dotted

    某个方向: border-top/bottom/left/right

  • margin

    外边距

    语法: margin:距离;

    某个方向:margin-top/bottom/left/right

    注意:行标签垂直方向不可设置

  • padding

    内边距

    语法: padding:距离;

    某个方向: padding-top/bottom/left/right

    注意:行标签垂直方向不可设置


css样式

  • width
  • height
  • background-color
  • color
  • font-size
  • text-align
  • margin/padding/border

字体属性

设置字体的大小

  1. font-size 设置字体的大小
  2. ​取值:font-size: 12px;
  3. 注意:在css大多数数值都需要添加单位
  4. 字体大小默认16px,最小12px,更小的要用lighter

设置字体的粗细

  1. font-weight 设置字体的粗细
  2. 取值:normal bold 100 - 900

用数字设置的时候,只有400和700会产生变化,是因为字体在初始设计的时候就没有设置太多的粗细标准,一般就是两种,默认的和加粗的

所以 在实际工作中 用的最多的就是normal(400) bold(700)

设置字体的风格

  1. font-style 设置字体的风格(样式)
  2. 取值:
  3. normal 默认 显示标准的字体样式
  4. italic 字体倾斜

设置不同类型的字体

  1. font-family 设置不同的字体
  2. 取值:宋体、微软雅黑、黑体、。。。等等
  • 1.不推荐使用一些冷门字体,因为一些冷门字体很多电脑里面默认没有安装,这个时候就会显示不出来。所以实际工作中,默认都是一些主流字体 如宋体 微软雅黑 等。
  • 2.字体可以写多组,中间用逗号隔开.
  • 3.字体名称中如果有空格 # $ 这种特殊字符的时候需要添加上引号 中文字体也需要添加引号.

    了解:http://code.ciaoca.com/style/cssfont2unicode/

font简写


  1. font: font-style font-weight font-size/line-height font-family;
  2. 不建议修改顺序 并且不需要设置的属性可以不写 但是font-sizefont-family必须指定,否则将不起作用

文字的对齐 缩进 下划线 水平对齐

  1. text-align:值;
  2. 取值:left right center
  3. 该属性控制的是标签 “内部的文字” 水平居中

首行缩进

  1. text-indent:值;
  2. 取值可以是像素,也可以是em 推荐写法:text-indent:2em;

字体下划线和删除线

  1. text-decoration:值;
  2. 1.underline 下划线
  3. 2.line-through 删除线
  4. 3.none 去掉多余的样式(比如去掉链接的下划线)

间距

  1. 中文字符间距:letter-spacing:数值;
  2. 英文单词间距:word-spacing:数值;
  3. 行间距(行高):line-height:数值;

设置圆角

  1. border-radius:值;
  2. 设置圆角 值是和画圆有关的

鼠标样式和链接点击样式

调整鼠标样式为链接点击样式(小手)

  1. cursor: pointer;

链接没有被访问时的颜色

  1. a:link{
  2. color: gray;
  3. }

链接被访问过之后的颜色

  1. a:visited{
  2. color: red;
  3. }

鼠标悬停时链接的颜色

  1. a:hover{
  2. /*鼠标悬停*/
  3. color: deeppink;
  4. }

鼠标点击时链接的颜色

  1. a:active{
  2. /*鼠标点击*/
  3. color: gold;
  4. }

背景

背景颜色

  1. background-color: red;
  2. 颜色可以设置成十六进制 或者 rgb 或者 rgba
  3. rgba:(数值1,数值2,数值3,数值4)
  4. 数值1,数值2,数值3 的取值范围为0-255,是RGB色彩表示法的颜色
  5. 数值4 取值范围0(完全透明)-1(完全不透明),是用来调节透明度的
  6. opacity一样

背景图片

  1. background-image: url(图片路径);

背景平铺

  1. background-repeat: 背景平铺;
  2. - 1.repeat 平铺 默认的
  3. - 2.no-repeat 不平铺
  4. - 3.repeat-x 水平平铺
  5. - 4.repeat-y 垂直平铺

背景是否滚动

  1. background-attachment: 背景是否滚动;
  2. 1.scroll 默认值 图片跟随盒子一起滚动
  3. 2.fixed 图片不跟随盒子一起滚动

背景绘制的区域

  1. background-clip: 背景绘制的区域;
  2. 1.border-box 默认
  3. 2.content-box 以内容为区域(盒模型的蓝色部分)
  4. 3.padding-box 以内边距为区域(盒模型的蓝色 + 绿色部分)

背景位置

  1. background-position: 背景位置;
  2. 1.方位名词 right top left center bottom 书写的顺序不论
  3. 2.像素 如果是像素 那么默认在以“当前盒子”的左上角为0 0原点 构建一个坐标系 第一值是X轴的位置 第二个值是Y轴的位置 交互的点就是图片开始显示的起始位置
  4. 1、程序里面的坐标系X轴水平向右 Y轴垂直向下
  5. 2、注意顺序
  6. 3.百分比 百分比参照的自身盒子的宽高: 最终的位置是当前盒子自身的宽高的百分比 - 图片自身的宽高的百分比
  7. 4.还可以混写 混写是需要考虑顺序

背景的简写

  1. background:背景颜色 背景图片地址 背景平铺 背景滚动 背景位置;
  2. 如:background: #fff url() no-repeat scroll center center;

img和背景图片的区别:

  1. 1.img不需要专门写宽高就能够显示在页面上,而背景图片默认是撑不开容器的 需要专门写宽高
  2. 2.一般产品插入图都推荐使用img而一些小的icon 或者很少更新的图片 再或者超大的图片推荐使用背景图
  3. 3.背景图可以让内部的文字盖在上面,但是img不行(除非后期用定位)

隐藏

  1. 1.display:none;
  2. 隐藏元素,不占网页中的任何空间,让这个元素彻底消失(看不见也摸不着)
  3. 2.overflow:hidden;
  4. 让超出的元素隐藏,就是在设置该属性的时候他会根据你设置的宽高把多余的那部分剪掉
  5. 我们都知道每个浏览器对代码的解析都不同,所以我们在做页面的时候会遇到很多bug,在IE里面如果内容的高度超过了该层的高度他会自动地撑开,但火狐等里面的高度是多高这层就只有这么大,内容的高即使超出了也不会影响你设置的高,在这个时候我们有的问题就可以用overflowhidden;来解决,这是第一点,还有就是我们可以利用它做出很多hover效果
  6. 3.visibility:hidden;
  7. 他是把那个层隐藏了,也就是你看不到它的内容但是它内容所占据的空间还是存在的。(看不见但摸得到)

锚点

  1. 使用id选择器
  2. a标签中的地址填#id

滑动门

  1. 做气泡时候用到的 1px的竖线 用来撑开内容

精灵图

  1. 雪碧牛网站 http://www.spritecow.com/
  2. 用来定位精灵图的

css的三大特性

继承性

后代元素会继承祖先元素的一些样式 跟文字相关属性可以继承 color font-

line- text- 可以继承 块元素可以继承父级元素的宽度,高度不继承

  • 注意:a链接颜色不予继承,需要单独写
  • 注意:如果元素自身有该css样式,那么该样式不予继承
  1. <div class="father">
  2. 爸爸
  3. <div class="son">
  4. 儿子
  5. <div class="grandson">孙子</div>
  6. </div>
  7. </div>

层叠性

后渲染的css样式会覆盖掉先渲染的css样式 (权重相同的情况下)

注意:层叠性真针对css的书写位置,类的调用位置先后会它没有影响

  1. <style>
  2. .box1 {
  3. /* 最终绿色起效果 */
  4. color: red;
  5. color: green;
  6. }
  7. </style>
  8. <div class="box"></div>

优先级(权重)

不同的选择器之间会有不同的优先级


  1. 继承 < 通配符 < 标签选择器 < 类选择器 < ID选择器 < 行内样式 < !important

权重叠加

CSS特殊性(Specificity)

关于CSS权重,我们需要一套计算公式来去计算,这个就是 CSS Specificity,我们称为CSS 特性或称非凡性,它是一个衡量CSS值优先级的一个标准 具体规范入如下:

specificity用一个四位的数 字串(CSS2是三位)来表示,更像四个级别,值从左到右

,左面的最大,一级大于一级,数位之间没有进制,级别之间不可超越。

继承或者* 的贡献值 0,0,0,0
每个元素(标签)贡献值为 0,0,0,1
每个类,伪类贡献值为 0,0,1,0
每个ID贡献值为 0,1,0,0
每个行内样式贡献值 1,0,0,0
每个!important贡献值 正无穷
  1. 权重是可以叠加的
  2. 比如的例子:
  3. div ul li ------> 0,0,0,3
  4. .nav ul li ------> 0,0,1,2
  5. a:hover -----—> 0,0,1,1
  6. .nav a ------> 0,0,1,1

浮动

行标签被浮动后可以设置宽高当成块标签使用

正常浮动(一旦浮动后脱离标准流)

如果某个标签A是浮动的 假如A标签的上一个标签也是浮动的 那么A就会跟在上一个标签后面

如果一行放不下两个标签 A就会被挤到下一行

如果上一个元素是标准流元素 那么A相对的垂直位置不会改变

div的顺序是由HTML代码顺序决定

清除浮动

在父类中使用overflow和浮动哪个就在哪个里写的clear

  • 对于父标签

    • 在父类标签中添加overflow:hidden
    • 为了让父标签能包住子元素的浮动标签
  • 对于兄弟标签
    • 在标签中添加clear
    • 清除浮动可以让浮动标签复原成块标签的状态

浮动最早是用来做文字环绕效果的

浮动多类名

  1. style中写三个单独的样式分别左浮动,右浮动和清除浮动
  2. 在使用时给要浮动的块(或要清除浮动的块)使用多类名增加浮动(或清除浮动)




定位

定位的使用包含两个部分:

  1. 定位的方式
  2. 偏移值 left,right,top,bottom

偏移值准确的理解是“距离什么位置有多大” 如 top:100px; 距离顶部为100像素 (向下走)

静态定位

所有的标准流都是静态定位

  1. position:static;
  • 一般用于将某些已经定位的元素还原成标准流,用的很少
  • 偏移值对于静态定位来说不起作用,我们以后说的元素定位不包括静态定位

相对定位

相对定位是相对自己的标准流的位置进行定位移动

  1. position:relative;

特性:

  1. 1. 移动的出发点是自身标准流的位置
  2. 2. 相对定位移动的元素不会对别的元素产生干扰,“没有脱标”,真正占得位置还是标准流的位置(肉体不在 灵魂永驻)
  3. 3. 可以盖在标准流的上方
  4. 4. 一般用于微调元素和配合绝对定位来实现效果

绝对定位

  1. position:absolute;

特性:

  1. 1.移动的出发点:
  2. 从绝对元素开始一直往上级找(直到找到最大的html标签),在这个过程中,只要有一个元素(A元素)是定位(相对,绝对,固定)的任何一个,这个绝对定位的元素就会参照这个A元素进行定位,并且不会在往上找了,如果一个都没有,最终会以html元素定位
  3. 2.脱标
  4. 1.1. 脱标的元素不占标准流的位置
  5. 1.2. 不会继承父级的的宽度,内容有多大就撑多大 (不论块级还是行内)
  6. 1.3. 可以直接写宽高 (不论块级还是行内)
  7. 1.4. margin:auto对于脱标元素不起作用

巧妙运用:让一个定位盒子水平垂直居中

  1. left: 50%;
  2. top: 50%;
  3. margin-left:-自身宽度的一半;
  4. margin-top:-自身高度的一半;

使用方式:

  1. 在工作中,绝对定位"大多"配合相对定位一起使用(父相子绝)
  2. 父相:在标准流上占有位置
  3. 子绝:针对这个标准流在去移动
  4. 注意:父绝子绝的情况也有,只是很少,不要完全形成思维定式。

固定定位

  1. position: fixed;

特性:

  1. 1.脱标
  2. 1.1.脱标的元素不占标准流的位置
  3. 1.2.不会继承父级的的宽度,内容有多个就撑多大 (不论块级还是行内)
  4. 1.3.可以直接写宽高 (不论块级还是行内)
  5. 1.4.margin:auto对于脱标元素不起作用
  6. 2.移动的出发点:浏览器窗口 (直接表现:滚动条对于固定元素没有作用)

四种定位总结

定位模式 是否脱标占有位置 是否可以使用边偏移 移动位置基准
静态static 不脱标,正常模式 不可以 正常模式
相对定位relative 不脱标,占有位置 可以 相对自身位置移动
绝对定位absolute 完全脱标,不占有位置 可以 相对于定位的父级移动位置
固定定位fixed 完全脱标,不占有位置 可以 相对于浏览器移动位置

z-index

控制“定位”元素的叠放层级

  1. z-index只针对定位元素有效果
  2. z-index值越大,层级越高

思考:上大盒子压住下大盒子 下大盒子里面的子元素压住上盒子

  1. 如果父元素已经比较过层级了(父元素“都有”z-index的时候,并且值不为auto),那么子元素与子元素之间是不会再去比较的

2019.4.18 HTML + CSS相关整理的更多相关文章

  1. css相关整理-其他

    1.设备像素(device pixel): 设备像素是物理概念,指的是设备中使用的物理像素.CSS像素(css pixel): CSS像素是Web编程的概念,指的是CSS样式代码中使用的逻辑像素.通过 ...

  2. 你所不知道的 CSS 阴影技巧与细节 滚动视差?CSS 不在话下 神奇的选择器 :focus-within 当角色转换为面试官之后 NPOI 教程 - 3.2 打印相关设置 前端XSS相关整理 委托入门案例

    你所不知道的 CSS 阴影技巧与细节   关于 CSS 阴影,之前已经有写过一篇,box-shadow 与 filter:drop-shadow 详解及奇技淫巧,介绍了一些关于 box-shadow  ...

  3. 【web前端面试题整理03】来看一点CSS相关的吧

    前言 昨天我们整理了14到js的题,今天我们再来整理14到CSS相关的题目,昨天整理时候时间有点晚了我便有点心浮气躁,里面的一些题需要再次解答,好了看看今天有些什么吧. PS:我这里挑一点来做就好了, ...

  4. IE的CSS相关的BUG(整理一)

    本来不想弄这个ie的bug的,真的很想让它快点死掉,可是事与愿违啊,没办法,还是贴出来,以备自用. 这个网页(http://haslayout.net/css/index)上例举了所有的IE和CSS相 ...

  5. css hack整理:区别FF,IE8,IE7,IE6,SF,CH浏览器

    css hack整理:区别FF,IE8,IE7,IE6,SF,CH浏览器 2013年03月24日 ⁄ CSS ⁄ 共 716字 ⁄ 暂无评论         前端开发最要命的事就是处理浏览器的兼容性问 ...

  6. CSS精心整理的面试题

    CSS精心整理的面试题 1.设置边框的样式用border-style实现,设置边框的颜色用border-color实现 2.CSS的语法由选择器.属性.值三部分组成 3.设置一个div的最小宽度为50 ...

  7. 2019.3.18考试&2019.3.19考试&2019.3.21考试

    2019.3.18 C O D E T1 树上直接贪心,环上for一遍贪心 哇说的简单,码了将近一下午终于码出来了 感觉自己码力/写题策略太糟糕了,先是搞了一个细节太多的写法最后不得不弃疗了,然后第二 ...

  8. Css相关用法个人总结

    Css相关用法个人总结

  9. git相关整理

    title: git相关整理 toc: false date: 2018-09-24 20:42:55 git merge 和 git merge --no--ff有什么区别? git merge命令 ...

随机推荐

  1. STL中 map 和 multimap

    1. 所在头文件<map>. 命名空间std, 声明如下: namespace std{ template <class Key,class T, class Compare = l ...

  2. VWAP算法(成交量加权平均价)

    算法交易其实主要是用在基金公司.券商量化比较多.例如我已经选好股,要大量买入,但是单凭交易员的操作海量单而且要完成买入100万股这些的操作是有点的困难的.那么这时候怎样解决拆单,防止冲击成本的问题呢? ...

  3. mybaits foreach

    <select id="selectQuickConsultDoctorList" resultMap="BaseResultMap" parameter ...

  4. 重叠IO

    一. 异步IO        说到重叠模型首先还是提一下异步IO比较好,因为从本质上讲,重叠模型也是一种异步IO模型.       我们知道,相对于计算机执行的其他操作而言,设备IO(文件.管道.套接 ...

  5. ORM,Entity Framework介绍以及其所包含的基础架构介绍

    一:entity framework 6.0 ORM (实体关系模型) O: Domain Object 领域模型 R: Relational Database 关系型数据库 M: Mapping 映 ...

  6. DotNetBar 中 SuperGridControl 加载数据、获取数据、设置样式

    1.加载数据 构建列 //加载列 GridColumn gd = new GridColumn(); gd.Name = "第1"; gd.HeaderText = "第 ...

  7. STM32 IAP+Ymodem功能实现(参考官方代码)

    IAP:在线升级代码 ,通俗的讲就是通过USART,IIC,或者SPI,USB等等,方式,在程序中升级程序,一般用在远程升级,或者是在PCB板子都安装到模具之后还需要升级代码,这样我们就需要,通过IA ...

  8. vs code开发.net core项目入门

    今天用vs code来开发net core项目,写一下简要的开发流程,主要步骤如下,看完后你会发现特别简单 1.命令如下: (cmd中运行以下命令,下面命令都基于选择好自己的项目路径) 1.新建文件夹 ...

  9. 工作流2013 assign to问题

    根据您的确认, 该问题已经通过我们所提供的方案进行修改后测试通过, 问题解决. 以下为该问题的产生原因: SharePoint 2013使用的默认认证机制与2007不一样,  2007使用的是Wind ...

  10. select2 模糊查询远程数据

    详细:http://www.cnblogs.com/linJie1930906722/p/6060370.html $("#name").select2({ language: & ...