CSS的两种经典布局

  • 左右布局

  • 一栏定宽,一栏自适应
  1. <!-- html -->
  2. <div class="left">定宽</div>
  3. <div class="right">自适应</div>
  4. <!-- css -->
  5. .left{
  6. width: 200px;
  7. height: 600px;
  8. float: left;
  9. display: table;
  10. text-align: center;
  11. line-height: 600px;
  12. }
  13. .right{
  14. margin-left: 210px;
  15. height: 600px;
  16. background: yellow;
  17. text-align: center;
  18. line-height: 600px;
  19. }

  • 利用绝对定位实现
  1. <!-- html -->
  2. <div class= "left">
  3. </div>
  4. <div class= "right">
  5. </div>
  6. <!-- css-->
  7. .left{
  8. position:absolute;
  9. left:0;
  10. width:200px;
  11. }
  12. .right{
  13. margin-left:200px;
  14. }

  • 左中右布局

  • 利用绝对定位实现
  1. <!-- html-->
  2. <div class= "left">
  3. </div>
  4. <div class= "main">
  5. </div>
  6. <div class= "right">
  7. </div>
  8. <!-- css-->
  9. .left{
  10. width:200px;
  11. background-color:yellow;
  12. position:absolute;
  13. top:0;
  14. left:0;
  15. }
  16. .main{
  17. margin-left:200px;
  18. margin-right:300px;
  19. }
  20. .right{
  21. width:300px;
  22. background-color:orange;
  23. position:absolute;
  24. top:0;
  25. right:0;
  26. }

  • 利用浮动定位实现
  1. <!-- html-->
  2. <div class="left"></div>
  3. <div class="main"></div>
  4. <div class="right"></div>
  5. <!-- css-->
  6. .left{
  7. width:300px;
  8. background-color:yellow;
  9. float:left;
  10. }
  11. .right{
  12. width:200px;
  13. background-color:orange;
  14. float:right;
  15. }
  16. .main{
  17. margin-left:300px;
  18. margin-right:200px;
  19. }

  • 圣杯布局,两边定宽,中间自适应
  1. <!-- html-->
  2. <div class="container">
  3. <div class="main col">Main</div>
  4. <div class="left col">Left</div>
  5. <div class="right col">Right</div>
  6. </div>
  7. <!-- css-->
  8. .col{
  9. float: left;
  10. position:relative;
  11. }
  12. .container{
  13. padding:0 200px 0 100px;
  14. }
  15. .left{
  16. left:-100px;
  17. width: 100px;
  18. height:100%;
  19. margin-left: -100%;
  20. background: red;
  21. }
  22. .main{
  23. width:100%;
  24. height: 100%;
  25. }
  26. .right{
  27. right:-200px;
  28. width:200px;
  29. height:100%;
  30. margin-left: -200px;
  31. background: yellow;
  32. }

  • 双飞翼布局
  1. <!-- html-->
  2. <div class="container">
  3. <div class="left col ">Left</div>
  4. <div class="main col ">
  5. <div class="main_inner">Main</div>
  6. </div>
  7. <div class="right col ">Right</div>
  8. </div>
  9. <!-- css-->
  10. .col{
  11. float: left;
  12. }
  13. .main{
  14. width:100%;
  15. height:100%;
  16. }
  17. .main_inner{
  18. margin:0 200px 0 100px;
  19. }
  20. .left{
  21. width: 100px;
  22. height: 100%;
  23. margin-left: -100%;
  24. background: red;
  25. }
  26. .right{
  27. height:100%;
  28. width:200px;
  29. margin-left: -200px;
  30. background: yellow;
  31. }

CSS居中问题

  • 水平居中

  • 对于行内元素(inline):text-align: center;
  1. <!-- html -->
  2. <div>
  3. <span >kaka</span>
  4. </div>
  5. <!-- css -->
  6. div {
  7. text-align:center
  8. }

  • 对于块级元素(block):
    1.给此块级元素设置宽度
    2.margin:0 auto;
  1. <!-- html -->
  2. <div class="parent">
  3. <div class="child">kaka</div>
  4. </div>
  5. <!-- css -->
  6. .parent {
  7. width:1002px;
  8. }
  9. .child {
  10. width:50%;//也可以是固定像素
  11. margin:0 auto;
  12. }

  • 垂直居中

  • 行高与高度一致使其居中,适用于只有一行文字的情况
  1. <!-- html -->
  2. <div class="parent">
  3. <div class="child">kaka</div>
  4. </div>
  5. <!-- css -->
  6. .parent {
  7. height:1002px;
  8. line-height:1002px;
  9. }

  • 水平垂直均居中

  • 已知宽高,给负margin
  1. <!-- html -->
  2. <div class="parent">
  3. <div class="child">kaka</div>
  4. </div>
  5. <!-- css -->
  6. .parent {
  7. position: relative;
  8. }
  9. .child {
  10. position: absolute;
  11. width:1002px;
  12. height:828px;
  13. top: 50%;
  14. left: 50%;
  15. margin-top:-414px;
  16. margin-left:-501px;
  17. }

  • 未知宽高,transform方案
  1. <!-- html -->
  2. <div class="parent">
  3. <div class="child">kaka</div>
  4. </div>
  5. <!-- css -->
  6. .parent {
  7. position: relative;
  8. }
  9. .child {
  10. position: absolute;
  11. top: 50%;
  12. left: 50%;
  13. transform: translate(-50%, -50%);
  14. }

CSS的一些小技巧

  • 请写出「姓名」与「联系方式」两端对齐的例子
  1. <!-- html -->
  2. <span>姓名</span>
  3. <span>联系方式</span>
  4. <!-- css -->
  5. span{
  6. line-height:20px;
  7. font-size:20px;
  8. height:20px;
  9. overflow:hidden;
  10. }
  11. span::after{
  12. content: '';
  13. display: inline-block;
  14. width: 100%;
  15. }
  • 文本内容过长如何变成省略号?
    1 一行文本过长,只需要对该div作以下操作:
  1. <!-- css -->
  2. div{
  3. white-space:nowrap;
  4. overflow:hidden;
  5. text-overflow:ellipsis;
  6. }
  1. 2 多行文本超出,如:在第二行后省略:
  1. <!-- css -->
  2. div{
  3. display:-webkit-box;
  4. -webkit-line-clamp:2;
  5. -webkit-box-orient:vertical;
  6. overflow:hidden;
  7. }
  • 如何使固定高度的div里面的文字垂直居中?

1.先确定行高 2.再用padding补全高度。这种写法的好处是在文字增减过程中不会出现bug。
例:一个高 40px 的 div,里面的文字垂直居中

  1. <!-- css -->
  2. div{
  3. line-height:20px;
  4. padding:10px 0;
  5. }
  • 使该元素变大1.2倍
  1. transform: scale(1.2);
  • 动画过渡效果
  1. transition: all 0.3s;

关于css布局、居中的问题以及一些小技巧的更多相关文章

  1. CSS布局——居中

    参考文章1.CSS布局奇淫技巧之--各种居中 2.http://www.imooc.com/article/2235 1.行内元素水平居中text-align:center对图片,按钮,文字等行内元素 ...

  2. css学习の第六弹—样式设置小技巧

    一.css样式设置小技巧>>1.行内元素水平居中是通过给父元素设置 text-align:center 来实现的.html代码:<body> <div class=&qu ...

  3. CSS布局---居中方法

    在web页面布局中居中是我们常遇到的情况,而居中分为水平居中与垂直居中 文本的居中 CSS中对文本的居中做的非常友好,我们是需要text-align, line-height 两个属性就可以控制文本的 ...

  4. CSS布局居中

    1.把margin设置为auto,此方法只能进行水平的居中,且对浮动元素或绝对定位元素无效.

  5. 【转】css布局居中和CSS内容居中区别和对应DIV CSS代码

    原文地址:http://www.divcss5.com/jiqiao/j771.shtml css布局居中和CSS内容居中区别和对应DIV CSS代码教程与图文代码案例篇 对于新手来说DIV CSS布 ...

  6. CSS中的一下小技巧2之CSS3动画勾选运用

    使用CSS3实现动画勾选 相信大家在项目中会经常遇到这种需求:勾选框.现在用CSS3来实现一个动画勾选,只需要一个标签即可完成: 这次需要用到CSS中伪类 after,这个小技巧也是很容易忘记的,所以 ...

  7. CSS 布局实例系列(一)总结CSS居中的多种方法

    使用 CSS 让页面元素居中可能是我们页面开发中最常见的拦路虎啦,接下来总结一下常见的几种居中方法吧. 1. 首先来聊聊水平居中: text-align 与 inline-block 的配合 就像这样 ...

  8. css布局之居中

    CSS布局之居中 本文主要是介绍水平居中,垂直居中,还有水平垂直居中的方法 水平居中 1.行内元素水平居中 使用text-align:center;就可以实现行内元素的水平居中,但是记得要在父元素中设 ...

  9. 主流 CSS 布局(水平居中、垂直居中、居中 )

    什么是布局 html 页面的整体结构或骨架 布局不是某个技术内容 而是一种设计思想 [ 布局方式 ] 水平居中布局 垂直居中布局 居中布局( 水平 + 垂直 ) 什么是水平居中布局 水平居中布局 元素 ...

随机推荐

  1. Hive表数据同步到es

    1.首先服务器节点,进入到对应的数据库.2. 然后找到要同步的表,show create table + 表名查看一下或者自己可以新建一个表,用来测试原表,如下 CREATE TABLE `wb_tm ...

  2. ceph 问题总结已解决

    waiting for a volume to be created, either by external provisioner "ceph.com/rbd" or manua ...

  3. qt日常积累

    http://blog.sina.com.cn/s/blog_b8bcba160102yyi3.html

  4. Windows下Apache服务多个端口反向代理配置

    修改\Apache24\conf\httpd.conf: 1.修改安装包地址: Define SRVROOT "/Apache24" 修改为: Define SRVROOT &qu ...

  5. Dapr 弹性的策略

    云原生应用需要处理 云中很容易出现瞬时故障.原因在以下文档 暂时性故障处理[1] 中有具体说明. 任何环境.任何平台或操作系统以及任何类型的应用程序都会发生暂时性故障. 在本地基础结构上运行的解决方案 ...

  6. 二进制部署1.23.4版本k8s集群-1-系统安装及环境准备

    1. 致谢 这篇文章参考了老男孩王导的视频,在此表示感谢和致敬! 2. 安装CentOS操作系统 系统镜像:CentOS-7-x86_64-DVD-2009.iso 安装过程略. 3. 环境准备 3. ...

  7. 1列表展示的SQL,改为:只查询出vip会员,展示在页面上(10分)

    模型代码: //会员 public static function member(){ return self::where('status',1)->select(); } 控制器代码: // ...

  8. 『现学现忘』Docker常用命令 — 21、容器常用命令(三)

    目录 13.进入正在运行的容器并以命令行交互 (1)方式一 (2)方式二 (3)attach和exec的区别 14.从容器内拷贝文件到主机上 15.Docker常用命令小结 (1)容器生命周期管理 ( ...

  9. 2.4 C++STL deque容器详解

    文章目录 2.4.1 引入 2.4.2 代码示例 2.4.3 代码运行结果 2.4.4 具体案例 总结 2.4.1 引入 deque容器类比vector容器来学习. deque为双向开口容器,见下图. ...

  10. Java基础——类与接口

    一.类与接口的关系 1.类与类的关系 继承关系,只能单继承,不能多继承:但是可以多层继承 2.类与接口的关系 实现关系,可以单实现,也可以多实现,还可以继承一个类的同时实现多个接口 3.接口与接口的关 ...