1.高级布局
《文档流概念》:页面从上至下,块式标签一行一行排列,内联式一行中从左至右排列
《BFC规则》:左右位置(左右margin)垂直位置(上下margin)容器内外(互不影响)
《脱离文档流》:脱离文档流的元素 拥有black块级元素所有
综合使用 em,rem,vw,wh,%布局
流式布局---让布局脱离固定值(一般只是宽)限制,可以根据页面情况改变相应发生改变,整体布局不改变
百分比布局 
响应式布局---不同大小屏幕 显示不同的布局
@media  screen and (max-width:400px ){
            /*.d{background-color: white}*/
            .d1{
                width: 10%;
                background-color: #ff2084;
            }
浮动布局---float
float:left|right
解决问题 :block box同行显示
清浮动:
<!--1.height-->
<!--2.overflow: hidden-->
<!--3.兄弟:clear: left | right | both-->
<!--4.父元素:after {-->
 <!--content: "";-->
 <!--display: block;-->
 <!--clear: both;-->
定位布局---position
position属性:
 statict  默认 不脱离文档流
 relative 不脱离文档流--相对自身
 absolute 完全脱离文档流--相对最近的一个定位的父元素
 fixed     完全脱离文档流--相对窗口
定位后的元素可进行:
top,left,botomn,right操作
z-index:对于脱离文档流的定位元素显示优先级
flex布局---弹性布局
<!--弹性容器属性display:flex-->
<!--容器设置为弹性容器后,内的元素排成一行,不受内元素宽度和的局限.-->
<!--flex-direction--> row | row-reverse | column | column-reverse
<!--flex-wrap-->      nowrap | wrap | wrap-reverse
<!--flex-flow-->      上面2个简写方式
<!--justify-content--> flex-start | flex-end | center | space-between | space-around
<!--align-items-->     flex-start|flex-end|center|baseline|stretch
<!--align-content-->  flex-start|flex-end|center|space- between|space-around|stretch
<!--弹性元素属性-->
<!--order-->
<!--align-self--> auto|flex-start|flex-end|center|baseline|stretch
<!--flex-grow-->
<!--flex-shrink-->
<!--flex-basis-->
2.布局坑
兄弟父子坑
文档流 兄弟:上下取最大 左右相加
float  兄弟:上下左右 相加
父子margin坑: 子margin移动父级的margin
父级设置 content,padding-top,border-top;float;定位只有absolut,fixed有效
 
3.xy居中
水平垂直---两个方向居中
//居中的元素是:<div> </div>标签内的元素   div要设置宽高
方式一:通过父元素 统一设置子元素(一般不这样做,应为内部元素未知)
    <!--子元素知道宽高|不知宽高-->
    水平(block不行):text-aline:center
    垂直:(都行)
          display:table-cell    单元格
          vertical-align:middle
    <!--不兼容问题-->
           display: flex;
    水平: justify-content: center;
    垂直:align-items: center;
方式二:通过子元素自身  单独设置某个(常用)
    inline(不能设置宽高,margin.padding 左右有效)元素:可以设置line-height
    display:block;
 
    block(可设置宽高)元素:可以设置line-height=内容高度(内部的div)+上下高度(相同)
    水平:margin:0 auto;  只适用于block型
    <!--父级相对定位,子集绝对定位   提一句:定位,float的元素变成block型 如果没设宽高 由内容撑开-->
    水平:left:50%
         margin-left:-宽/2px;
    垂直:(宽高要设)
        top:50%
        margin-top:-高/2px;
    <!--有不兼容问题-->
    水平:left:50%
    垂直:(宽高没设,内容撑开)
        top:50%
    transform:translate(-50%,-50%)
    水平:left:0;right:0;top:0;botuom:0;margin:auto;
    垂直:(宽高要设)

web@css普通布局 , 高级布局 , 布局坑的更多相关文章

  1. Responsive Web CSS – 在线响应式布局创建器

    如果您已经使用了 CSS 或前端框架,创建响应式布局应该不难. 然而,如果你刚涉足这类布局,Responsive Web CSS 可以帮助你快速上手. 这是一个基于 Web 的工具,使任何人都可以通过 ...

  2. web app 自适应方案总结 弹性布局之rem

    关于rem,主要参考文档 1.腾讯ISUX (http://isux.tencent.com/web-app-rem.html) 2.http://www.w3cplus.com/css3/defin ...

  3. 精通CSS+DIV网页样式与布局--初探CSS

    CSS英文名Cascading Style Sheet,中文名字叫层叠样式表,是用于控制页面样式并允许将样式信息与网页内容分离的一种标记性语言,DIV+CSS是WEB设计标准,它是一种网页的布局方法. ...

  4. CSS魔法堂:Flex布局

    前言  Flex是Flexible Box的缩写,就是「弹性布局」.从2012年已经面世,但由于工作环境的原因一直没有详细了解.最近工作忙到头晕脑胀,是要学点新东西刺激一下大脑,打打鸡血. Flex就 ...

  5. CSS设置表格TD宽度布局

    使用表格布局时,对单元格的宽度控制很伤脑筋,所以查阅资料整理如下: 一.表格布局table-layout 语法: table-layout : auto | fixed 取值: auto  : 大多数 ...

  6. 从零开始学 Web 之 移动Web(六)响应式布局

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  7. 纯CSS实现移动端常见布局——高度和宽度挂钩的秘密

    纯CSS实现移动端常见布局--高度和宽度挂钩的秘密 不踩坑不回头.之前我在一个项目中大量使用css3的calc计算属性.写代码的时候真心不要太爽啊-可是在项目上线之后,才让我崩溃了,原因非常easy, ...

  8. 你不知道的css各类布局(二)之流体布局、液体布局、栅格布局

    流体布局 什么是流 在谈论流体布局之前我们需要知道一件事情就是何为“流”,所谓“流”就是“文档流”,是css中的一种基本定位和布局 概念 流体布局(Liquid/Fluid Layout)指的是利用元 ...

  9. 你不知道的css各类布局(一)之固定布局、静态布局

    前言 当为大量用户设计网站时,设计人员必须考虑到访问者的差异: 屏幕分辨率, 浏览器的选择, 是否在浏览器最大化状态, 浏览器的额外工具栏的开启(历史记录,书签等), 操作系统和硬件. 我们知道css ...

随机推荐

  1. redis集群之哨兵模式【原】

    redis集群之哨兵(sentinel)模式 哨兵模式理想状态 需要>=3个redis服务,>=3个redis哨兵,每个redis服务搭配一个哨兵. 本例以3个redis服务为例: 一开始 ...

  2. Spark源码剖析 - 计算引擎

    本章导读 RDD作为Spark对各种数据计算模型的统一抽象,被用于迭代计算过程以及任务输出结果的缓存读写.在所有MapReduce框架中,shuffle是连接map任务和reduce任务的桥梁.map ...

  3. Spring Boot 2程序不能加载 com.mysql.jdbc.Driver 问题

    用Spring Boot Starter 向导生成了一个很简单SpringBoot程序, 用到了 MySQL, 总是下面不能加载 Mysql driver class 错误. Cannot load ...

  4. ThinkJS 开发node后端 使用 简介

    ThinkJS 是一款面向未来开发的 Node.js 框架,整合了大量的项目最佳实践,让企业级开发变得如此简单.高效.从 3.0 开始,框架底层基于 Koa 2.x  实现,兼容 Koa 的所有功能. ...

  5. 使用 JS 实现文字上下跑马灯

    Ø  前言 今天在做商城首页时,遇到一个上下跑马灯功能,因为之前也只是接触过左右的跑马灯,一时还不知道从何下手.在网上看了几个 demo,并亲自运行了一下,是可以实现的.但是,能运行不知其所以然也不行 ...

  6. GCC编译器原理(二)------编译原理一:目标文件

    一.目标文件 在 UNIX® 和 Linux® 中,任何事物都是文件.UNIX 和 Linux 编程实际上是编写处理各种文件的代码.系统由许多类型的文件组成,但目标文件具有一种特殊的设计,提供了灵活和 ...

  7. Immunity Debugger学习 二

    1.Exploit开发 发现漏洞只是一个开始,在你完成利用程序之前,还有很长一段路要走.不过Immunity专门为了这项任务做了许多专门设计,相信能帮你减少不少痛苦.接下来我们开发一些PyComman ...

  8. cookie, session, token 是什么 以及相应的安全考量

    Cookie cookie 最常见的是用来保存一些账号信息,比如下图里的 记住账号 就是记录到了cookie里面 cookie 更主要的是针对和server通信的,我们知道http 是无状态的,那如果 ...

  9. [MVC框架]利用@Scheduled注解创建定时执行的程序

    新写的项目中有一个地方要用到定时器,然后就用了spring的@Scheduled注解,顺手就给记录下来了,免得下次用的时候还要翻以前的项目,顺便分享出来,给没用过的兄弟姐妹们做个参考. 这次主要用的是 ...

  10. 「SHOI2015」(LOJ2038)超能粒子炮・改

    传送门:Here 一句话题意:给定$ t$次询问,每次读入$n,k,$求$ \sum_{i=0}^kC_n^k\ mod\ 2333$, 其中$ t \leq 100000$,$n,k \leq 10 ...