前端面试题CSS-经典布局

news/2024/5/19 20:27:22 标签: css, html, flex, 定位, css3
htmledit_views">

CSS经典布局有:圣杯布局,双飞翼布局(左右固定中间自适应)

圣杯布局

结构是一体的,中间部分在最前面

<div class="container">
    <div class="center"></div>
    <div class="left"></div>
    <div class="right"></div>
</div>

float 浮动布局

.container {
    height: 100%;
    padding: 0 200px;
}
.left,
.right,
.center {
   float: left;
}
.left,
.right {
    width: 200px;
}
.center {
    width: 100%;
}
.left {
    margin-left:-100%;
    position: relative;
    left: -200px;
}
.right {
    margin-left: -200px;
}

双飞翼布局

结构是身体跟两边是分开的

<div class="box">
   <div class="container">
   		<div class="center"></div>
   </div>
   <div class="left"></div>
   <div class="right"></div>
</div>

float 浮动布局

.box {
    height: 100%;
    overflow: hidden;
}
.left,
.right,
.center {
   float: left;
}
.container {
    width: 100%;
    padding: 0 200px;
}
.left,
.right {
    width: 200px;
}
.left {
    margin-left: -100%;
}
.right {
    margin-left: -200px;
}

两种方法的核心就是

  • container 设置padding:0 200px
  • left,right和center都设置float:left
  • 圣杯布局:left设置margin-left:-100%; position: relative;left: -200px; 双飞翼布局:left设置margin-left:-100%;
  • right都设置为margin-left: -200px;

其他的左右固定中间自适应的布局

结构是一体的,先渲染左边再中间最好右边

<div class="container">
    <div class="left"></div>
    <div class="center"></div>
    <div class="right"></div>
</div>

flex布局

.container{
    display:flex;
    justify-content:space-between; // 两边对齐,中间间隔一样
    height: 100%;
}
.left,
.right{
    flex: 0 0 200px; // 0-不放大 0-不缩小 200px-在一行占200px空间
    height: 200px;
}
.center {
    flex: 1; // 不放大不缩小占满剩下的空间
    height: 200px;
}

定位

.container{
   position: relative;
   height:100%;
}
.left,
.right{
    position: absolute;
    top: 0;
    width: 200px;
}
.left {
    left: 0;
}
.right {
    right: 0;
}
.center {
    margin: 0 200px;
}

 


http://www.niftyadmin.cn/n/1319178.html

相关文章

MySQL数据库的基本操作命令

一、mysql服务操作 1、net start mysql41 //启动mysql服务 2、net stop mysql41 //停止mysql服务  3、mysql -h主机地址 -u用户名 &#xff0d;p用户密码 //进入mysql数据库 4、quit //退出mysql操作 5、mysqladmin -u用户名 -p旧密码 password 新密码 //更改…

Guava 1.5-Throwables:简化异常和错误的传播与检查

异常传播 有时候&#xff0c;你会想把捕获到的异常再次抛出。这种情况通常发生在Error或RuntimeException被捕获的时候&#xff0c;你没想捕获它们&#xff0c;但是声明捕获Throwable和Exception的时候&#xff0c;也包括了了Error或RuntimeException。Guava提供了若干方法&…

Flask-Principal用户验证

Flask是python的轻量级web框架&#xff0c;Flask-Principal是一个flask的权限框架。主要是用户认证和权限控制的功能。 认证只提供了基础结构&#xff1a; 1.用户认证通过后&#xff0c;将用户身份(identity)存储在session中。 2.用户登出系统后清理session&#xff0c;一般的做…

js根据路径下载文件

1.利用iframe下载 let xhr new XMLHttpRequest() xhr.open(GET, url) xhr.responseType blob xhr.setRequestHeader(Authorization, Bearer ${accessToken}) xhr.onreadystatechange handler xhr.send()function handler () {if (this.readyState this.DONE) {if (this.st…

MYSQL语句大全

--语 句功能--数据操作SELECT --从数据库表中检索数据行和列INSERT --向数据库表添加新数据行DELETE --从数据库表中删除数据行UPDATE --更新数据库表中的数据--数据定义CREATE TABLE --创建一个数据库表DROP TABLE --从数据库中删除表ALTER TABLE --修改数据库表结构CREATE VI…

【2012】笔试面试总结(一)

1.校招 第1家 没去参加它的宣讲会&#xff0c;但是在现场招聘时获得了笔试的机会&#xff08;现场问了下基本情况&#xff0c;然后叫我写个函数从1加到10。(*^__^*) 嘻嘻……很简单吧&#xff09; 超简单的&#xff0c;不知道考我什么&#xff1f; int sum() {int s 0;for (in…

vue2.0和vue3.0双向绑定的实现原理

vue2.0的双向数据绑定其实就是用了es5新增加的Object.defineProperty来进行数据劫持的 <span id"spanName"></span> <input type"text" id"inputName"> let obj { name : }; let newObj Object.parse(Object.stringify(o…

在Python中如何使用Linux的epoll

在Python中如何使用Linux的epoll目录序言阻塞socket编程示例异步socket的好处以及Linux epoll带epoll的异步socket编程示例性能注意事项源代码序言从2.6开始&#xff0c;Python包含了访问Linux epoll库的API。这篇文章用几个简单的python 3例子来展示下这个API。欢迎大家质疑和…