zoukankan      html  css  js  c++  java
  • CSS盒子模型-浮动-transition

    1. CSS盒子模型

    首先,所有HTML元素可以看作盒子

    CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。

    不同部分的说明:

    • Margin(外边距) - 清除边框外的区域,外边距是透明的。
    • Border(边框) - 围绕在内边距和内容外的边框。
    • Padding(内边距) - 清除内容周围的区域,内边距是透明的。
    • Content(内容) - 盒子的内容,显示文本和图像。

    当指定一个 CSS 元素的宽度和高度属性时,你只是设置内容区域的宽度和高度。元素实际的大小包宽高,内边距,边框和边距。因此 ,要元素大小不变,若增大元素的padding,则必须减少响应的height/width才能保证。

    当元素的 padding(填充)内边距被清除时,所释放的区域将会受到元素背景颜色的填充。

    2. 浮动

    CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列。元素的水平方向浮动,意味着元素只能左右移动而不能上下移动。着使得元素从上下排列称为左右排列。

    一个浮动元素会尽量向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。

    如果把几个浮动的元素放到一起,如果有空间的话,它们将彼此相邻。

    元素浮动之后可能出现高度塌陷。所谓浮动造成的高度塌陷,就是在父元素没有设置高度的情况下,原本其高度由子元素撑起,其子元素浮动后,则父元素处于塌陷状态;因为子元素浮动后是不占据父元素的位置空间的,无法撑起父元素高度。右图所示为高度塌陷。

    通常解决高度塌陷的方法:

      1.给父元素(box1)设置高度(这种方法适合高度固定的布局)

     2.用after伪元素清除浮动),给塌陷的父元素添加声明清除浮动 box1:after{content:””; clear:both; display:block; visibility:hidden; }。如果考虑到IE6和IE7浏览器低版本的兼容问题,再加上 hight:0; overflow:hidden;

    3. transition

    transition 属性设置元素当过渡效果,如transition: width 2s;

    • transition-property:指定CSS属性的name,transition效果
    • transition-duration:transition效果需要指定多少秒或毫秒才能完成
    • transition-timing-function:该属性指的是过渡的“缓动函数”,即动画执行的特征,如逐渐变慢
      transition: all .3s ease-out;
    • transition-delay:定义transition效果开始的时候

    将鼠标悬停在一个 div 元素上,逐步改变表格的宽度从 100px 到 300px:

    div
    {
        100px;
        transition: width 2s;
        -webkit-transition: width 2s; /* Safari */
    }
    div:hover {300px;}
    

    可以用来完成一些动画特性  

  • 相关阅读:
    spring cloud 学习(Gateway)网关
    spring cloud 学习(Hystrix)熔断器
    spring cloud 学习(Feign)分布式配置中心
    老子道德经-帛书甲本
    重新执行mysql索引
    有关maven2路径
    关于Mysql含有blob字段的查询效率问题
    提交Json参数到Tomcat报400错误的问题
    不知道算不算mysql的漏洞
    JFinal项目中,如何连接两个不同版本的mysql数据库?
  • 原文地址:https://www.cnblogs.com/kongrui/p/13265766.html
Copyright © 2011-2022 走看看