GuoYF

vuePress-theme-reco GuoYF    2020
GuoYF GuoYF

Choose mode

  • dark
  • auto
  • light
TimeLine
Category
  • 技术文章
  • 阅读笔记
  • 生活记录
Tag
GirHub
AboutMe

GuoYF

18

Article

18

Tag

TimeLine
Category
  • 技术文章
  • 阅读笔记
  • 生活记录
Tag
GirHub
AboutMe
  • 【css世界】阅读笔记

    • 块级元素
      • 常用a t规则及使用示例
        • @charset
        • @import
        • @page
        • @counter-style
        • @key-frames
        • @fontface
        • @support
        • @namespace
        • @viewport
      • 盒模型
        • BFC(块级格式上下文)
          • 居中布局
            • 去除浮动
              • css3新属性
                • 伪类选择器
                  • 伪元素

                  【css世界】阅读笔记

                  vuePress-theme-reco GuoYF    2020

                  【css世界】阅读笔记


                  GuoYF 2019-12-08 Css

                  # css世界

                  css的世界诞生就是为图文信息展示服务的

                  # 块级元素

                  block

                  实际由外在的“块级盒子”和内在的“块级容器盒子”组成,

                  inline-block

                  外在的“内联盒子”和内在的“块级容器盒子”组成,值为 inline 的元素则内外均是“内联盒子”

                  width-height作用在容器盒子

                  在页面丢一个div进去他就会像水一样铺满容器

                  页面元素主要为

                  # 常用a t规则及使用示例

                  # @charset

                  用于提示css文件使用的字符串编码方式,它如果被使用,必须出现在最前面。这个规则只是在给出语法解析阶段前使用,并不影响页面上展示效果。

                  @charset "utf-8"
                  

                  # @import

                  用于引入一个css文件,除@charset规则不会被引入外,可以引入一个文件的全部内容。

                  @import "mystyle.css";
                  @import url("mystyle.css");
                  @media
                  media query 使用规则,它能够对设备的类型进行一些判断,在media的区块中,是普通规则列表。
                  
                  @media print {
                      body {
                          font-size: 10pt;
                      }
                  }
                  

                  # @page

                  page用于分页媒体访问网页时的表现设置,页面是一种特殊的盒模型结构,除了页面本身,还可以设置它周围的盒。

                  @page {
                      size: 8.5in 11in;
                      margin: 10%;
                      @top-left {
                          content: "Hamlet";
                      }
                      @top-right {
                          content: "Page " counter(page);
                      }
                  }
                  

                  # @counter-style

                  counter-style产生一种数据,用于定义列表项的表现。

                  @counter-style triangle {
                      system: cyclic;
                      suffix: "";
                  }
                  

                  # @key-frames

                  key-frames产生一种数据,用于定义动画关键帧。

                  @keyframes diagonal-side {
                      from {
                          left: 0;
                          top: 0;
                      }
                      
                  
                      to {
                          left: 100px;
                          top: 100px;
                      }
                  
                  }
                  

                  # @fontface

                  fontface用于定义一种字体,iconfont技术就是利用这个特性来实现。

                  @font-face {
                      font-family: Gentium;
                      src: url(http://xxxx);
                  }
                  p {
                      font-family: Gentium, serif;
                  }
                  

                  # @support

                  support检查环境的特性,它与media比较类似。

                  # @namespace

                  用于跟xml命名空间配合的一个规则,表示内部的css选择器全都带上特定命名空间。

                  # @viewport

                  用于设置视口的一些特性,不过兼容性目前不是很好,多数时候被html的meta代替。

                  # 盒模型

                  • ie盒模型或怪异盒模型(box-sizing:border-box)——content的内容包括padding和border和content

                  • w3c盒模型(box-sizing:content-box)——width宽度只包含元素的content宽度,总宽度 = width + padding(左右) + border(左右)

                  # BFC(块级格式上下文)

                  是一个独立的渲染区域,BFC内部元素与外部元素互相隔离

                  触发条件

                  • 根元素
                  • position:fixed/absolute(脱离文档流)
                  • float(脱离文档流)
                  • ovevflow不为visible
                  • ie浏览器通过zoom:1

                  通常用来

                  • 清除浮动
                  • 自适应两栏布局(左边浮动,右边设置overflow为hidden触发BFC)
                  • 阻止margin重叠

                  # 居中布局

                  • 水平居中

                    1. 行内元素:text-align:center
                    2. 块级元素:margin:0 auto
                    3. flex:justify-content:center
                    4. absolute-transform
                  • 垂直居中

                    1. lineheight:height
                    2. absolute-transform
                    3. flex:align-content:center
                    4. table
                  • 垂直水平居中

                    1. absolute-transform
                    2. flex + justify-content + align-items

                  4.选择器优先级

                  !important>行内样式(style)>id#>class.>*>全局样式>继承

                  # 去除浮动

                  1. 使用BFC
                  2. 增加伪元素(:after:clear:both)
                  3. 父级元素设置行高

                  # css3新属性

                  • 边框

                    border-radius:圆角边框,border-radius:25px

                    box-shadow:边框阴影,box-shadow: 10px 10px 5px#888888

                    border-image:边框图片,border-image:url(border.png) 30 30 round;

                  • 文本效果

                    text-shadow:向文本应用阴影,可以规定水平阴影、垂直阴影、模糊距离,以及阴影的颜色

                    word-wrap:允许文本进行换行。word-wrap:break-word

                  • 转换(transform)

                    translate():元素从其当前位置移动,根据给定的 left(x 坐标) 和 top(y 坐标) 位置参数。 transform: translate(50px,100px);

                    rotate():元素顺时针旋转给定的角度。允许负值,元素将逆时针旋转。transform: rotate(30deg);

                    scale():元素的尺寸会增加或减少,根据给定的宽度(X 轴)和高度(Y 轴)参数。transform: scale(2,4);

                    skew():元素翻转给定的角度,根据给定的水平线(X 轴)和垂直线(Y 轴)参数。transform: skew(30deg,20deg);

                    matrix(): 把所有 2D 转换方法组合在一起,需要六个参数,包含数学函数,允许您:旋转、缩放、移动以及倾斜元素。transform:matrix(0.866,0.5,-0.5,0.866,0,0);

                  • 过度(transition)

                    transition-property :执行动画对应的属性,例如 color,background 等,可以使用 all 来指定所有的属性。

                    transition-duration:过渡动画的一个持续时间。

                    transition-timing-function:在延续时间段,动画变化的速率,常见的有:ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier 。

                    transition-delay:延迟多久后开始动画。

                    简写为:transition: [ || || || ];

                  • 动画(animation)

                  # 伪类选择器

                  • +:获取当前元素的相邻的满足条件的元素
                  • ~:获取当前元素满足条件的兄弟元素
                  • :first-child :选取属于其父元素的首个子元素的指定选择器
                  • :last-child :选取属于其父元素的最后一个子元素的指定选择器
                  • :nth-child(n) : 匹配属于其父元素的第 N 个子元素,不论元素的类型
                  • :nth-last-child(n) :选择器匹配属于其元素的第 N 个子元素的每个元素,不论元素的类型,从最后一个子元素开始计数。 n 可以是数字、关键词或公式,even偶数,odd奇数
                  • :first-of-type :选择属于其父元素的首个元素的每个元素
                  • :last-of-type :选择属于其父元素的最后元素的每个元素
                  • :nth-of-type :选择属于其父元素第n个元素的每个元素

                  # 伪元素

                  • ::before
                  • ::after
                  • ::first-letter——选中块级元素第一行的第一个字母,最前面为图片或内联的表格时会干扰选择
                  • ::first-line——选中块级元素中第一行。
                  • ::selection——选中被用户高亮选择的部分;可以不配合其他元素使用,只有一小部分的 CSS 属性可用于此选择器
                  欢迎来到 GuoYF
                  看板娘