zoukankan      html  css  js  c++  java
  • 前端笔记--CSS

    CSS选择器的优先级

    • !important
    • 内联样式
    • id选择器 100
    • 类选择器 伪类选择器 属性选择器 10
    • 元素选择器 伪元素选择器 1
    • 其他选择器(通配符、子选择器、相邻选择器等) 0
      注意:计算权重时不进位,如11个类选择叠加的优先级低于1个id选择器

    雪碧图

    使用

    1.使用background-image:url()引入雪碧图
    2.利用background-position属性结合background-size,background-repeat等属性定位需要的图标

    优点

    1.将多张图片合并到一张图片中,减小图片的总大小
    2.减少HTTP请求数,提高加载性能

    base64的使用

    1.减少HTTP请求数,提高加载性能
    2.适用于小图片
    3.使用base64会增加图片体积(约为原图的4/3)

    伪类和伪元素的区别

    1.伪类表示一种状态,如:hover表示鼠标悬停在元素上的状态
    2.伪元素是真的有元素,如::before可以在元素内容前面插入新内容
    3.css3要求使用双冒号表示伪元素,单冒号表示伪类

    如何美化checkbox

    1.借助lable for 标签通过id绑定input,这样在点击label时就相当于点击了checkbox
    2.将input标签隐藏
    3.设置未选中时label标签的样式,选中时通过相邻选择器:checked + label设置选中时的样式

    如何使用css画一个三角形

    1.将div的宽高设为0
    2.设置左右下边框(像素大一点),将左右边框设为透明(transparent)

    如何设置文本溢出隐藏显示...

    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    

    实现两栏(三栏)布局的方法

    • 表格布局 (父元素 display:table,子元素 display:table-cell)
    • float+margin布局
      清除浮动的方法:
      1.给父元素设置overflow:hidden
      2.使用after伪元素清除浮动
    .clearfix::after{
      content: "";
      display: block;
      height: 0;
      clear:both;
      visibility: hidden;
    }
    
    • absolute+margin布局(父元素要设置相对定位)
    • inline-block
    • flex弹性布局

    如何适配移动端(响应式布局)

    1.设置viewport <meta name="viewport" content="width=device-width,inital-scale=1.0" />
    2.rem 媒体查询 百分比/vh vw

    css动画

    transition

    补间动画

    div
    {
    100px;
    height:100px;
    background:blue;
    transition:width 2s;
    }
    
    div:hover
    {
    300px;
    }
    

    animation(keyframes声明动画)

    关键帧动画

    div
    {
    100px;
    height:100px;
    background:red;
    position:relative;
    animation:mymove 5s infinite;
    }
    
    @keyframes mymove
    {
    from {left:0px;}
    to {left:200px;}
    }
    

    若要使用逐帧动画则需要指定 animation-timing-function:step(1)

    transition和animation的区别

    1.transition需要通过hover或js事件来配合触发,而animation结合keyframes直接触发。
    2.transition是样式值的过渡,只有开始和结束两帧,只能触发一次,而animation可以设置多个帧,循环播放等。

    css预处理器

    常见的css预处理器

    1.less(node.js)
    2.sass(ruby)

    预处理器的能力(以less为例)

    1.代码嵌套 反应层级
    2.声明变量 @baseColor:#fff
    3.mixin extend 代码块,减少重复代码

    .block(@baseColor){
       background-color:@baseColor;
       position:relative;
    }
    .div{
       .block(@baseColor);
    }
    
    .block{
       background-color:@baseColor;
       position:relative;
    }
    .div:extend(.block){
    }
    

    4.loop循环(递归循环)
    有规律的样式
    5.import模块化
    @import "./header.css"

    预处理框架:lesshat/EST

  • 相关阅读:
    睡前一分钟打造完美下半身 健康程序员,至尚生活!
    几种不伤身体的速效减肥秘方 健康程序员,至尚生活!
    头发一周洗几次才适宜? 健康程序员,至尚生活!
    夏日驱蚊虫蟑螂的最好办法! 健康程序员,至尚生活!
    WPF控件和布局
    《深入浅出WPF》笔记——绑定篇(二)
    WPF中的DataTemplate绑定使用的场合
    WPF第一个程序和XAML初探
    实习总结之jquery实例
    下一步要实战的东西
  • 原文地址:https://www.cnblogs.com/zhahuhu/p/13398040.html
Copyright © 2011-2022 走看看