常见的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 ...
随机推荐
- Java丨springMVC + Ajax 来进行分页
javaweb 分页技术 实现的方式有很多种,但是小编在网上问了度娘也问了谷老师,得到的答案让小编我不是很满意,so,还是自己写吧! 在小编的博文中,小编不会上传源码,只会把重要的代码和思路供大家参考 ...
- listen 80
Facebook Quietly Created New Email Addresses For a company that made its name by building one of the ...
- hdu3739 Anti LIS[最小割]
长度为 n≤1000 的数列 ai,其中最长上升子序列的长度为 s.至少删去多少数使得最长上升子序列的长度小于 s. 其实这题和那个求有多少不重叠LIS是一样答案的. 先放个图. 图丑别说我. 原网络 ...
- ACM学习历程—HDU 1059 Dividing(dp && 多重背包)
Description Marsha and Bill own a collection of marbles. They want to split the collection among the ...
- javaCV入门指南:调用FFmpeg原生API和JavaCV是如何封装了FFmpeg的音视频操作?
通过"javaCV入门指南:序章 "大家知道了处理音视频流媒体的前置基本知识,基本知识包含了像素格式.编解码格式.封装格式.网络协议以及一些音视频专业名词,专业名词不会赘述,自行搜 ...
- 简单两步快速实现shiro的配置和使用,包含登录验证、角色验证、权限验证以及shiro登录注销流程(基于spring的方式,使用maven构建)
前言: shiro因为其简单.可靠.实现方便而成为现在最常用的安全框架,那么这篇文章除了会用简洁明了的方式讲一下基于spring的shiro详细配置和登录注销功能使用之外,也会根据惯例在文章最后总结一 ...
- Vue cli项目开启Gzip
目录 安装 compression-webpack-plugin 更改配置文件 服务器开启gzip功能 安装 compression-webpack-plugin 建议安装v1.1.11版本,最新版本 ...
- Godot-3D教程-01.介绍3D
创建一个3D游戏将是个挑战,额外增加的Z坐标将使许多用于2D游戏的通用技术不再有用.为了帮助变换(transition),值得一提的是Godot将使用十分相似的API用于2D和3D. 目前许多节点是公 ...
- Html 5 版 电子时钟
效果图: html 5 canvas元素 Html 5的canvas元素可以用于在网页上绘制图形[即canvas的作用]. canvas画布使用JavaScript在网页上绘制图形 其拥有绘制各种路 ...
- ng2中的ng-content用法
用途:1.ng-content用于在组件中嵌入内容 2.ng-content可以在组件中嵌入模板代码,方便定制可复用的组件 select属性支持css选择器,如"#id",&quo ...