布局方式

  1 布局:设置元素在网页中的排列方式及显示效果

  2 分类:  

    1 标准流布局(文档流,普通流,静态流)

      是默认的布局方式

      特点:将元素按照书写顺序及元素类型,从上至下,从左至右排列

    2 浮动布局

      设置元素浮动 

        属性:float

        取值:left / right / none (默认值)

      浮动元素的特点:

       1 元素设置浮动(left / right),会脱离文档流,在文档中不再占位,后面正常的元素会向前占位,浮动元素会“漂浮在文档流上方”

       2 元素设置浮动,会从它当前所在文档中的位置脱流向左或向右浮动。

       3 多个元素同时左浮或右浮,浮动元素会依次停靠在前一个浮动元素的边缘,中间没有缝隙

       4 浮动元素会在父元素的尺寸范围内浮动,多个浮动元素无法并排显示时,会自动换行,停靠在其他浮动元素边缘

       5 任何元素只要设置浮动,就具有块元素的特征,可以手动调整宽高

    3 浮动引发的特殊效果:

      文字环绕效果:

        浮动元素脱流,在文档中不占位,后面正常元素会向前占位,可能被浮动元素遮挡,但是浮动元素只会遮挡正常元素尺寸区域,

        不会遮挡正常文本内容,文本会围绕在浮动元素周围显示。

    4 元素浮动引起的问题:

      子元素如果全部设置浮动,在文档中不占位,父元素高度为0:

        1 父元素的背景图片和背景颜色无法显示

        2 父元素后面的正常元素会上移,影响布局

      解决:

        1 为父元素指定高度(常见写法)

        2 设置父元素 overflow:hidden;

        3 清除浮动的影响:

          属性:clear

          取值:left / right / both

          使用:为正常元素添加clear属性,清除浮动元素带来的影响

            left:表示正常元素左边不允许出现浮动元素,

            right :正常元素不受右浮元素影响

            both:正常元素不受浮动元素影响

          解决父元素高度为0的问题:

           1 为父元素末尾添加空的块元素

           2   为空的块元素设置clear:both;  

  3 定位布局

   1 定位布局:通过调整元素的位置,实现网页布局

   2 属性:position

     取值:

      1 static:默认值,使用文档流布局  

      2 relative:相对定位

      3 absolute:绝对定位

      4 fixed:固定定位

    注意:只有元素设置position 属性为 relative / absolute / fixed 三者之一,才认为元素是“已定位元素”

   3 偏移属性

     使用 top / bottom /left / right 偏移属性来调整已定位元素的位置

      1 top:取像素值,可正可负, 正值表示元素向下移动,负值向上

      2 bottom:  正值表示向上移动,负值向下

      3 left:正值表示元素向右移动,负值向左

      4 right:正值表示元素向左,负值向右

   4 分类:

     1 相对定位 position :relative

       元素设置相对定位之后,可以使用偏移属性调整元素位置,

       相对定位的元素是参照元素在文档中的原始位置进行偏移

       特点:

        相对定位的元素不会脱离文档流,在文档中始终保留它的原始位置,

     2  绝对定位 position;absolute:

        绝对定位的元素会脱离文档流,类似于浮动,绝对定位的元素参照一个离他最近的已定位的祖先元素

       会参照浏览器窗口的(0,0)点偏移

       使用:

        采用“父相子绝” 的方式实现元素绝对定位。父元素采用相对定位,子元素使用绝对定位,实现子元素参照父元素的(0,0)点偏移

     3 固定定位 position:fixed:

       特点:

        1  固定定位的元素,永远都参照浏览器窗口进行偏移

        2 固定定位的元素,会被定位在窗口的某个位置,不会跟随页面滚动而滚动

  5 调整已定位元素的堆叠次序

    属性:z-index

    取值:无单位的数值,默认为0,数值越大,元素越靠上显示

    注意:

     1  z-index 属性只能在已定位的元素中使用

     2 兄弟元素之间可以通过 z-index 数值的大小调整堆叠次序

     3 父子元素之间,永远是子元素在上,无法通过z-index 调整父子元素的堆叠次序

     4 如果兄弟元素的z-index 取值相同,后来者居上

2 元素显示效果

  1 display

  2 visibility

  3 透明度设置

    1 属性:opacity  设置元素透明度

     2  取值:0 (透明)- 1 (不透明)

     3 注意:

      1 元素使用opacity设置半透明,所有显示的内容(背景颜色,文本颜色等) 都会呈现半透明效果

      2  opacity 是对元素整体透明度的设置,包含元素自身和内部的子元素

      3 子元素同时设置透明度,最终的透明度值是在父元素opacity取值的基础上再次进行透明度设置

        父元素中 opacity: .5;

        子元素   opacity: .5 ;

        子元素最终的透明度为 0.5*0.5

  4 行内块元素的垂直对齐方式

    行内块元素:img input button

      属性  vertical-align

      取值:top / middle / bottom

      作用:调整行内块元素左右元素与其自身的垂直对齐方式

  5 设置鼠标形状

    属性:cursor

    取值:

      1 default 默认值

      2 pointer 鼠标在元素上展现为手指的样式

      3 text 鼠标展示为 “I” ,表示普通文本 info的意思 

      4 crasshair 鼠标展示为 “+”

3 列表相关属性

  列表自带内外边距和项目符号

  1 list-style-type

    设置项目符号

    取值:

      1 none(取消项目符号,最常用)

      2 disc 实心圆点

      3 circle 空心圆点

      4 square 实心方块

      5 ...

  2 list-style-image

    指定图片作为项目符号

    取值:url()

  3 liist-stype-position

    指定项目符号的显示位置

    默认项目符号显示在内容外部,在左边的padding中展现

    取值:

      1 outside 默认值

      2 inside 设置项目符号显示在内容区域

  4 属性简写:

       属性: list-stype

      取值:type / image position

     常用:

      list-style:none;

      取消项目符号

     


1 过渡效果

  1 过渡指的是元素的CSS属性值发生变化时的一种平滑过渡效果

  1 语法:

    1  属性:transition

      取值: property,duration,timing-function,delay

      注意:

        1 属性简写时,四个属性值中,duration 是必填项,其他三个属性值可以省略

        2 transiition属性如果在伪类选择器中设置,元素的过渡效果只发生在第一次属性值改变的过程中,再有属性值变化都不会添加过渡效果

    2 过渡详解

      1 属性:transition-property

       取值:css 属性名称

       作用:指定某一个css样式发生值改变时添加过渡效果

        注意:

         1 指定多个属性时,使用逗号隔开

         2 可以省略,省略同时,所有涉及值改变的属性都会被自动添加过渡效果

         3 all 指定所有CSS属性在值变化产生过渡效果

      2 属性:transition-duration:

       取值:以s 为单位的数值

       作用:指定过渡时长

      3 属性:transiton-timing-function

       作用:指定过渡效果的速度变化曲率

        取值:

          1  ease:默认值,慢速开始,中间快速变快,慢速结束

          2 linear:匀速变化

          3 ease-in :慢速开始,加速结束

          4 ease-out :快速开始,慢速结束

          5 ease-in-out :慢速开始和结束,中间先加速后减速

      4 属性:transition-delay

        取值:以s 为单位的数值

        作用:指定过渡效果延迟几秒后执行

2 转换属性:

   1 转换:改变元素的位置,角度或大小(平移,旋转,缩放)

   2 语法:

    1 属性:transform  

    2 取值:转换函数

      1 平移转换

        1 作用:改变元素在文档中的位置

        2 函数:translate(x,y)

         取值:x 表示水平方向的平移距离

            y 表示垂直方向的平移距离

            正值表示向右或向下移动

            负值相反

        3 其他情况:

          1 trannslateX(value)  

            指定沿水平方向平移

          2 translaterY(value)

            指定沿垂直方向平移

          3 translate(value)

            等价于translateX(value)

      2 旋转变换

        1  作用:将元素旋转一定角度,默认的转换原点是元素的中心

        2 函数:rotate(ndeg)

          取值:以deg角度为单位的数值,

            正值表示顺时针旋转

            负值表示逆时针旋转

         

          元素3D转换

          rotateX(ndeg)

          rotateY(ndeg)

          

      3 缩放变换

        1 作用:改变元素在页面的大小

        2 函数:scale(value)

         取值:无单位的数值,表示缩放比例

          1 value = 1 原始比例显示

          2 value > 1 等比放大

           3 0< value < 1 等比缩小

          4 value < 0 元素不仅会比例,而且会翻转

        3 其他情况

          scaleX(v) 横向缩放

          scaleY(v) 垂直缩放

      转换原点:实际上是元素发生平移,旋转或缩放变换的基准点,默认是元素的中心点

    属性:transform-origin:

      取值:x ,y

      百分比

      方位值:left / center / right

          top / center / bottom

    注意:

      1 以元素左上角为(0,0)原点,给出转换原点的坐标位置

      2 改变元素的转换基准点会影响元素转换的效果

      3 旋转操作会连带元素的坐标轴一起旋转,影响其转换效果

        transform : translate(50px,50px) rotate(45deg)

        transform:rotate(45deg) translate(50px);

       

css 布局方式的更多相关文章

  1. 细谈CSS布局方式

    一.CSS布局方式分类 [1].默认文档流方式:以默认的html元素的结构顺序显示 [2].浮动布局方式:通过设置html的float属性显示,值:none不浮动.left对象向左浮动,而后面的内容流 ...

  2. 前端开发周报: CSS 布局方式方式与JavaScript数据结构和算法

    前端开发周报:CSS 布局方式与JavaScript动画库 1.常见 CSS 布局方式详见: 一些常见的 CSS 布局方式梳理,涉及 Flex 布局.Grid 布局.圣杯布局.双飞翼布局等.http: ...

  3. CSS布局方式--inline-block 布局

    布局其实就是想办法怎样将一些元素横向的排列起来,纵向由于块级元素的存在会自动占据一行. inline-block 元素会占据一行而且可以调整宽高很适合将这些元素排列在一行,而且使用 inline-bl ...

  4. css布局方式总结

    ### 居中布局 ### 一.水平居中 * 要求:子元素于父元素水平居中且其(子元素与父元素)宽度均可变. ```` javacript <div class="parent" ...

  5. CSS布局方式

    1.内边距 padding <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...

  6. CSS 布局入门

    概述 Web 兴起之后,关于CSS的介绍和学习资料已经铺天盖地. 本文不涉及具体的CSS语法之类的,而是希望从初学者的角度,让没有接触或很少接触CSS的人能快速的了解 CSS 到底是什么以及如何使用. ...

  7. [转]基于display:table的CSS布局

    当IE8发布时,它将支持很多新的CSS display属性值,包括与表格相关的属性值:table.table-row和table-cell,它也是最后一款支持这些属性值的主流浏览器.它标志着复杂CSS ...

  8. css Table布局:基于display:table的CSS布局

    两种类型的表格布局 你有两种方式使用表格布局 -HTML Table(<table>标签)和CSS Table(display:table 等相关属性). HTML Table是指使用原生 ...

  9. 还在为垂直居中苦恼?CSS 布局利器 flexbox 轻轻松松帮你搞定

    传统的 CSS 布局方式是基于盒模型(它是根据盒子与父盒子以及兄弟盒子的关系确定大小和位置的算法),实现时依赖于 block, inline, table, position, float 这些属性, ...

随机推荐

  1. 激活Microsoft Word 2010

    先关闭系统的防火墙(像360安全卫士这类软件),再运行“office 2010 正版验证激活工具”,并点击“Install/Uninstall KMService”安装“KMS”服务器(如下图,在弹出 ...

  2. Java RSA分段加密

    我们通过Java进行RSA加密的时候,可能会出现如下问题: /** * 私钥加密 * * @param data 待加密数据 * @param key 密钥 * @return byte[] 加密数据 ...

  3. 【Leetcode_easy】1089. Duplicate Zeros

    problem 1089. Duplicate Zeros 题意: solution: 其中关于虚拟新数组的下标的计算还是有点迷糊... class Solution { public: void d ...

  4. 微信服务号一些记录,与DTCMS微信功能二次开发

    1.首先必须获得Token CRMComm crm = new CRMComm();            string error = "";            string ...

  5. 遵循统一的机器学习框架理解SVM

    遵循统一的机器学习框架理解SVM 一.前言 我的博客仅记录我的观点和思考过程.欢迎大家指出我思考的盲点,更希望大家能有自己的理解. 本文参考了李宏毅教授讲解SVM的课程和李航大大的统计学习方法. 二. ...

  6. 最新 贝壳找房java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.贝壳找房等10家互联网公司的校招Offer,因为某些自身原因最终选择了贝壳找房.6.7月主要是做系统复习.项目复盘.Leet ...

  7. NET Core 3.0中的WPF

    在.NET Core 3.0中的WPF中使用IOC图文教程   我们都知道.NET Core 3.0已经发布了第六个预览版,我们也知道.NET Core 3.0现在已经支持创建WPF项目了,刚好今天在 ...

  8. ELK优化难题解决

    你头疼的ELK难题,本文几乎都解决了 一.ELK实用知识点总结 1.编码转换问题 这个问题,主要就是中文乱码. input中的codec=>plain转码: codec => plain ...

  9. 1.Cloudera Manager安装

    安装环境采用2台虚拟机进行,一台master, 一台slave1 先安装好centos 6.5 两台,并设置静态ip 怎么安装可以参考地址:https://jingyan.baidu.com/arti ...

  10. 【LOJ】#2720. 「NOI2018」你的名字

    题解 把S串建一个后缀自动机 用一个可持久化权值线段树维护每个节点的right集合是哪些节点 求本质不同的子串我们就是要求T串中以每个点为结束点的串有多少在\(S[l..r]\)中出现过 首先我们需要 ...