常见的div布局面试题
题目1:如何让一个子元素在父元素里水平垂直居中?
方法1
.box{width:400px;height:400px;background:#ccc;position:relative;}
.child{width:50px;height:50px;position: absolute;left:50%;top:50%;margin-left:-25px;margin-top:-25px;background:red;}
<div class="box">
<div class="child"></div>
</div>
方法2:
.box{width:400px;height:400px;background:#ccc;position:relative;}
.child{width:50px;height:50px;margin:auto;overflow:auto;position: absolute;left:0;top:0;right:0;bottom:0;background:blue;}
<div class="box">
<div class="child"></div>
</div>
方法3:
.box{width:400px;height:400px;background:#ccc;position:relative;}
.child{width:50px;height:50px;margin:auto;position: absolute;left:50%;top:50%;transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);background:pink;}
<div class="box">
<div class="child"></div>
</div>
方法4:
.box{width:400px;height:400px;background:#ccc;display: table-cell;text-align: center;vertical-align: middle;}
.child{width:50px;height:50px;display:inline-block;background:red;}
<div class="box">
<div class="child"></div>
</div>
方法5:
.box{width:400px;height:400px;background:#ccc;display: flex;justify-content:center;align-items:center;}
.child{width:50px;height:50px;background:red;}
<div class="box">
<div class="child"></div>
</div>
题目2:高度已知,分为三栏,左右各300px,中间自适应?
方法1:浮动布局
.box>div{height:100px;}
.box .left{width:300px;background:red;}
.box .center{background:pink;}
.box .right{width:300px;background:blue;}
<div class="box">
<div class="left"></div>
<div class="right"></div>
<div class="center">中间栏:浮动布局</div>
</div>
方法2:定位布局
.box{position:relative;}
.box>div{height:100px;position:absolute;}
.box .left{left:0;top:0;width:300px;background:red;}
.box .center{left:300px;top:0;right:300px;background:pink;}
.box .right{top:0;right:0;width:300px;background:blue;}
<div class="box">
<div class="left"></div>
<div class="right"></div>
<div class="center">中间栏:定位布局</div>
</div>
方法3:flex布局
.box{display: flex;}
.box>div{height:100px;position:absolute;}
.box .left{width:300px;background:red;}
.box .center{flex:1;background:pink;}
.box .right{width:300px;background:blue;}
<div class="box">
<div class="left"></div>
<div class="right"></div>
<div class="center">中间栏:flex布局</div>
</div>
方法4:表格布局
.box{display: table; width:100%;}
.box>div{display: table-cell;height:100px;}
.box .left{width:300px;background:red;}
.box .center{background:pink;}
.box .right{width:300px;background:blue;}
<div class="box">
<div class="left"></div>
<div class="right"></div>
<div class="center">中间栏:table布局</div>
</div>
方法5:网格布局
.box{display: grid;grid-template-rows:100px;grid-template-columns:300px auto 300px;}
.box>div{height:100px;}
.box .left{background:red;}
.box .center{background:pink;}
.box .right{background:blue;}
<div class="box">
<div class="left"></div>
<div class="right"></div>
<div class="center">中间栏:grid布局</div>
</div>
本人正在不断地学习摸索中,如有错误,欢迎指正,如有不同的解题思路也欢迎指教~
常见的div布局面试题的更多相关文章
- 常见的div布局
1.一列固定宽度且居中 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...
- div 布局
转:http://blog.csdn.net/mercop/article/details/7882000 HTML CSS + DIV实现整体布局 1.技术目标: 开发符合W3C标准的Web页面 理 ...
- DIV布局之道一:DIV块的水平并排、垂直并排
DIV布局网页元素的方式主要有三种:平铺(并排).嵌套.覆盖(遮挡).本文先讲解平铺(并排)方式. 1.垂直平铺(垂直排列) 请看如下代码 CSS部分: CSS Code复制内容到剪贴板 .lay1{ ...
- CSS常见的五大布局
本文概要 本文将介绍如下几种常见的布局: 一.单列布局 常见的单列布局有两种: header,content 和 footer 等宽的单列布局 header 与 footer 等宽,content 略 ...
- 几种常见的CSS布局
本文概要 本文将介绍如下几种常见的布局: 其中实现三栏布局有多种方式,本文着重介绍圣杯布局和双飞翼布局.另外几种可以猛戳实现三栏布局的几种方法 一.单列布局 常见的单列布局有两种: header,co ...
- 10个常见的Node.js面试题
如果你希望找一份有关Node.js的工作,但又不知道从哪里入手评测自己对Node.js的掌握程度. 本文就为你罗列了10个常见的Node.js面试题,分别考察了Node.js编程相关的几个主要方面. ...
- 小div布局之卡片堆叠(card-stacking)
前端的页面布局和各种效果真是让人眼花缭乱,公司的设计师恨不得在一个网站上把前端的布局和样式效果都用一遍. 如何实现下面这种布局效果?我给这种布局效果起了个名字,叫做小div布局之卡片堆叠.然后我百度了 ...
- [MVC] DIV 布局
[MVC] DIV 布局 <style> .top { background-color: red; height: 50px; top: 0px; position: absolute; ...
- 【html】【8】div布局[子div在父div居底]
从今天起 开始细话div布局 思路及要点: 父div的位置设置成相对的,即“position: relative;”. 而子div的位置设置成绝对的,并且下边缘设为0,即“position: ab ...
随机推荐
- Spark- Spark Yarn模式下跑yarn-client无法初始化SparkConext,Over usage of virtual memory
在spark yarn模式下跑yarn-client时出现无法初始化SparkContext错误. // :: INFO mapreduce.Job: Task Id : attempt_142829 ...
- 纯CSS3左右滑动开关按钮
纯CSS3特效左右滑动开关按钮是一款非常酷的CSS3 3D开关按钮,点击按钮可以左右滑动,就像开关打开闭合一样的效果. http://www.huiyi8.com/sc/10626.html
- mysql七:视图、触发器、事务、存储过程、函数
阅读目录 一 视图 二 触发器 三 事务 四 存储过程 五 函数 六 流程控制 一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名 ...
- ubuntn下 apt的用法和yum的比较(转)
centos有yum安装软件,Ubuntu有apt工具. apt简单的来说,就是给Ubuntu安装软件的一种命令方式. 一.apt的相关文件 /etc/apt/sources.list 设置软件包的获 ...
- 基类的两个派生类再派生一个派生类 用virtual避免二义性
class vehicle{ int MaxSpeed; int Weight;public: vehicle(int maxspeed, int weight) :MaxSpeed(maxspeed ...
- L2-028 秀恩爱分得快(25 分)
古人云:秀恩爱,分得快. 互联网上每天都有大量人发布大量照片,我们通过分析这些照片,可以分析人与人之间的亲密度.如果一张照片上出现了 K 个人,这些人两两间的亲密度就被定义为 1/K.任意两个人如果同 ...
- 【Python】python2.7 安装配置OpenCV2
环境:Ubuntu16.04 anaconda Python2.7 opencv2.4.13 安装opencv后 import cv2 遇到错误信息: No module named cv2 安装op ...
- poj3468区间加减查找——树状数组区间修改查询
题目:http://poj.org/problem?id=3468 增加一个更改量数组,施以差值用法则区间修改变为单位置修改: 利用公式可通过树状数组维护两个数组:f与g而直接求出区间和. 代码如下: ...
- 15 Vue项目部署
前言: VUE 是一个javascript的前端框架,注定了它是运行在浏览器里的,对服务器本地没有任何要求,只要一个静态文件服务器能通过http访问到其资源文件就足矣!无论你是用apache ,ngn ...
- jQuery 防止相同的事件快速重复触发
重复触发就是防止用户重复点击提交数据了,我们一般都是点击之后没反应会再次点击了,这个不但要从用户体验上来做好,还在要js或php程序脚本上做好,让用户知道点击是己提交服务器正在处理,下面我就整理从脚本 ...