题目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布局面试题的更多相关文章

  1. 常见的div布局

    1.一列固定宽度且居中 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  2. div 布局

    转:http://blog.csdn.net/mercop/article/details/7882000 HTML CSS + DIV实现整体布局 1.技术目标: 开发符合W3C标准的Web页面 理 ...

  3. DIV布局之道一:DIV块的水平并排、垂直并排

    DIV布局网页元素的方式主要有三种:平铺(并排).嵌套.覆盖(遮挡).本文先讲解平铺(并排)方式. 1.垂直平铺(垂直排列) 请看如下代码 CSS部分: CSS Code复制内容到剪贴板 .lay1{ ...

  4. CSS常见的五大布局

    本文概要 本文将介绍如下几种常见的布局: 一.单列布局 常见的单列布局有两种: header,content 和 footer 等宽的单列布局 header 与 footer 等宽,content 略 ...

  5. 几种常见的CSS布局

    本文概要 本文将介绍如下几种常见的布局: 其中实现三栏布局有多种方式,本文着重介绍圣杯布局和双飞翼布局.另外几种可以猛戳实现三栏布局的几种方法 一.单列布局 常见的单列布局有两种: header,co ...

  6. 10个常见的Node.js面试题

    如果你希望找一份有关Node.js的工作,但又不知道从哪里入手评测自己对Node.js的掌握程度. 本文就为你罗列了10个常见的Node.js面试题,分别考察了Node.js编程相关的几个主要方面. ...

  7. 小div布局之卡片堆叠(card-stacking)

    前端的页面布局和各种效果真是让人眼花缭乱,公司的设计师恨不得在一个网站上把前端的布局和样式效果都用一遍. 如何实现下面这种布局效果?我给这种布局效果起了个名字,叫做小div布局之卡片堆叠.然后我百度了 ...

  8. [MVC] DIV 布局

    [MVC] DIV 布局 <style> .top { background-color: red; height: 50px; top: 0px; position: absolute; ...

  9. 【html】【8】div布局[子div在父div居底]

    从今天起 开始细话div布局   思路及要点: 父div的位置设置成相对的,即“position: relative;”. 而子div的位置设置成绝对的,并且下边缘设为0,即“position: ab ...

随机推荐

  1. Contiki 2.7 Makefile 文件(六)

    5.第五部分 ifndef CONTIKI $(error CONTIKI not defined! You must specify where CONTIKI resides!) endif if ...

  2. 五年java工作应具备的技能

    具有一到五年开发经验 需要学习内容很多 JVM/分布式/高并发/性能优化/Spring MVC/Spring Boot/Spring Cloud/MyBatis/Netty源码分析等等等 01.透彻理 ...

  3. win32com操作word(3):导入VBA常量

    导入VBA常量方法:http://blog.sina.com.cn/s/blog_a73687bc0101k8x8.html 我们之前说过,win32com组件为python提供处理COM组件(.dl ...

  4. PS滤镜— —波浪效果

    clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); I=imread ...

  5. tomcat集群--单tomcat多实例

    1.解压apache-tomcat-7.0.75.tar.gz到任意目录 /data/tomcat-4X 2.建立tomcat多实例目录,这个tomcat-4X运行4X应用的两个实例4002,4004 ...

  6. Codeplus2017 12月赛——可做题1

    题目:https://www.luogu.org/problemnew/show/P4030 可以发现一个矩阵是巧妙矩阵当且仅当其所有二阶子矩阵都是巧妙矩阵: 将不巧妙的二阶矩阵计为1,维护二维前缀和 ...

  7. Django admin有用的自定义功能

    引用园友 无名小妖 的博客 https://www.cnblogs.com/wumingxiaoyao/p/6928297.html 写的很好,但是博客园不能转载,不过我已经点赞了~

  8. python-pprint打印函数

    #!/usr/bin/env python # -*- coding:utf-8 -*- import sys,pprint pprint.pprint(sys.path)

  9. CF-822B

    B. Crossword solving time limit per test 1 second memory limit per test 256 megabytes input standard ...

  10. SynEdit(Delphi XE7)的安装和基本使用

    一.花絮 delphi自带的memo显示sql语句看的太累人了,今天决定美化一下.最起码要有“语法着色”.“显示行号”这2个功能. 意外发现了 SynEdit 控件. SynEdit是一个免费的文字编 ...