zoukankan      html  css  js  c++  java
  • css的一些知识点的总结(一)

    1.flex布局

    display:flex,即在父元素当中设置,使得子元素受弹性盒子限制,默认排成一行,若超出一行,则按比例压缩。

    flex:1,在子元素当中设置,设置子元素如何分配父元素的空间,且子元素的宽度占满父元素。flex属性是flex-grow、flex-shrink与flex-basis的简写,默认值为0 1 auto,后两个属性可选。flex-grow属性定义项目的放大比例,默认为0,flex-shrink,属性定义了项目的缩小比例,默认值为1。flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间。默认值为auto,即项目本身的大小。flex这个属性,建议优先使用这个属性,而不是单独写三个分离的属性,因为浏览器会推算相关值。

    注意,若设置了flex布局后,子元素的float、vertical-align与clear属性将失效。

    flex-direction:即项目的方向,设置在父元素中。可能有四个值:row,即默认值,主轴为水平方向,从左至右;row-reverse:主轴亦为水平方向,起点在右端;column:主轴为垂直方向,起点在上沿。column-reverse,主轴亦为垂直方向,起点在下沿。

    flex-wrap:默认情况下,项目都排在一条线上。nowrap,即表示不换行;wrap,即换行,第一行在上方;wrap-reverse,换行,第一行在下方。

    flex-flow:为flex-direction、flex-wrap的简写形式,默认情况下为row nowrap

    justify-content:定义了item在主轴上的对齐方式,主轴从左至右:flex-start(默认),左对齐;flex-end:,右对齐;center:居中;space-around:每个项目两侧间隔相等 ;space-between:两端对齐,项目之间的间隔相等。

    align-items:定义了在交叉轴上的对齐方式。flex-start:交叉轴的起点对齐;flex-end:交叉轴终点对齐;center:交叉轴中点对齐;baseline:第一行文字的基线对齐。

    align-content:定义了多根轴线的对齐方式,若只有一根轴线,则不起作用。flex-start:与交叉轴起点对齐;flex-end:与交叉轴终点对齐;center:与交叉轴中点对齐;space-between:轴线之间的间隔平均分布,与交叉轴两端对齐;space-around:每根轴线两侧间隔都相等。

    2.css3的一些新特性

    transition属性,即为一个简写属性,用于设置四个过度属性

    1).transition-property:设置过渡效果的css属性的名称;

    2).transition-duration:规定完成过渡效果需要多少秒或者毫秒;注意!这个始终需要设置,否则时长为0,就不会产生过渡效果了。

    3).transition-timing-function:规定速度效果的速度曲线;

    4).transition-delay:定义过渡效果何时开始。

    animation

    animation是由三部分组成的。

    1).关键帧,定义动画在不同阶段的状态。

    2).动画属性,决定动画的播放时长,播放次数,以及何种函数式去播放动画等。

    3).css属性,就是css元素不同关键帧下的状态。

    3.img中alt与title的区别

    图片中的alt为,当图片无法正常显示的时候,所出现的文本提示,alt有利于SEO优化。

    图片中的title属性是鼠标移动到元素上的文本提示。

    4.css纯画一个三角形

    <head>
    <style>
        div {
            width: 0;
            height: 0;
            border-top: 40px solid transparent;
            border-left: 40px solid transparent;
            border-right: 40px solid transparent;
            border-bottom: 40px solid #ff0000;
        }
    </style>
    </head>
    <body>
    <div></div>
    </body>

    5.盒模型

    盒模型的组成从里至外为:content、padding、border、margin

    标准盒子模型中的width为content

    低标准的IE盒子模型中,width为content+padding+border

    6.如何实现水平居中?

    1).行内元素:text-align:center;

    2).块状元素中:

    1.flex布局的情况下,设置justify-content:center;

    2.已知宽度的情况下,设置margin为0,且left、right、top、bottom均为0

    3.已知宽度的情况下,设置margin:0 auto;

    4.position:absolute+left:50%+translate:translateX(-50%);

     

    7.如何设置垂直居中?

    1.设置line-height等于height(注意,line-height与字体也有关,对齐的是字体的基线)

    2.position:absolute+top:50%+translate:translateY(-50%);

    3.flex布局的情况下,align-items:center;

    4.display:table(父元素中)+display:table-cell+vertical-align:middle

    8.如何将一个div水平垂直居中?

    1.基于表格样式:

    #father{display:table;}
    #child{display:table-cell;
    text-align:center;
    vertical-align:middle}

    2.基于绝对定位:

    1).若要居中的元素宽高已知,可以利用负的margin,值为元素本身的高宽的一半

    #child{
    position:absolute;
    left:50%;
    top:50%;
    margin-left:-50px;
    margin-top:-50px;
    100px;
    height:100px;}

    2).

    #child{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);}

    3).

    .absolute-center{
    margin:auto;
    position:absolute;
    top:0;
    left:0;
    bottom:0;
    right:0;
    50%;
    height:50%}

    3.基于视口单位:

    #view-child{
    margin:50px auto 0;
    transform:translateY(-50%);
    }

    4.flex用法:

    1.当父元素中设置display为flex后,子元素设置为margin:auto

    #father{display:flex;}
    #child{margin:auto;}

    2.单纯在父元素中设置

    #father{
    display:flex;
    align-items:center;
    justify-align:center;}
  • 相关阅读:
    Leetcode NO.110 Balanced Binary Tree 平衡二叉树
    Leetcode NO.226 Invert Binary Tree 翻转二叉树
    Leetcode NO.215 Kth Largest Element In An Array 数组中的第K个最大元素
    根据特征的浏览器判断
    Cygwin在打开在当前目录
    【转帖】科学对待 健康养猫 打造快乐孕妇
    解决chrome浏览器安装扩展、应用程序一直处在“检查中”的问题
    对【SQL SERVER 分布式事务解决方案】的心得补充
    关于“点击这里继续访问您选择的百度XXX”
    VBA一例:如何保持文本框焦点
  • 原文地址:https://www.cnblogs.com/ljylearnsmore/p/14466042.html
Copyright © 2011-2022 走看看