让CSS布局呈现您的个性:学习常见布局方式

news2024/11/23 15:11:50

 

本文介绍常用的css布局:

  • 三栏布局
  • 两列自适应布局
  • 元素居中

盒模型简介:

三栏布局

中间列自适应宽度,两边宽度固定

1. 圣杯布局

<!DOCTYPE html>
<html>
<head>
<style>
/* This is a single-line comment */
  .container {
    margin-left: 110px;
    margin-right: 110px;
  }
  .left {
    float: left;
    width: 100px;
    height: 400px;
    background: red;
    margin-left: -100%;
    position: relative;
    left: -110px;
    color:#fff
  }
  .center {
    float: left;
    width:100%;
    height: 500px;
    background: yellow;
  }
  .right {
    float: left;
    width: 100px;
    height: 400px;
    background: blue;
    margin-left: -100px;
    position: relative;
    right: -110px;
    color:#fff
  }
</style>
</head>
<body>

  <article class="container">
    <div class="center">
      <h2>圣杯布局</h2>
    </div>
    <div class="left">左侧</div>
    <div class="right">右侧</div>
  </article>

</body>
</html>

双飞翼布局

<!DOCTYPE html>
<html>
<head>
<style>
/* This is a single-line comment */
      .container {
        min-width: 600px;
    }
    .left {
        float: left;
        width: 200px;
        height: 400px;
        background: red;
        margin-left: -100%;
    }
    .center {
        float: left;
        width: 100%;
        height: 500px;
        background: yellow;
    }
    .center .inner {
        margin: 0 200px; //新增部分
    }
    .right {
        float: left;
        width: 200px;
        height: 400px;
        background: blue;
        margin-left: -200px;
    }
</style>
</head>
<body>
    <article class="container">
        <div class="center">
            <div class="inner">双飞翼布局</div>
        </div>
        <div class="left"></div>
        <div class="right"></div>
    </article>
</body>
</html>

两列自适应布局

两列自适应布局是指一列由内容撑开,另一列撑满剩余宽度的布局方式

float+overflow

<!DOCTYPE html>
<html>
<head>
<style>
/* This is a single-line comment */
.parent {
  overflow: hidden;
  background:yellow;
  height:100px;
}
.left {
  float: left;
  background:blue;
  width:200px;
  color:#fff;
}
.right {
  overflow: hidden;
  background:red;
  color:#fff
}
</style>
</head>
<body>

<div class="parent">
    <div class="left" >
        <p>left</p>
    </div>
    <div class="right">
        <p>right</p>
    </div>        
</div>

</body>
</html>

Flex布局

垂直居中

<!DOCTYPE html>
<html>
<head>
<style>
/* This is a single-line comment */
.parent {
  background:yellow;
  height:100px;
  display:flex;
  justify-content:center;
  align-items:center
}
.left {
  flex:0 1 200px;
  background:blue;
  text-align:center;
  color:#fff;
}
.center {
  flex:0 1 200px;
  background:green;
  text-align:center;
  color:#fff;
}
.right {
  flex:0 1 200px;
  background:red;
  color:#fff;
  text-align:center;
}
</style>
</head>
<body>

<div class="parent">
    <div class="left" >
        <p>left</p>
    </div>
    <div class="center">
        <p>center</p>
    </div> 
    <div class="right">
        <p>right</p>
    </div>        
</div>

</body>
</html>

居中分散

<!DOCTYPE html>
<html>
<head>
<style>
/* This is a single-line comment */
.parent {
  background:yellow;
  height:100px;
  display:flex;
  justify-content:space-around;
  align-items:center
}
.left {
  flex:0 1 200px;
  background:blue;
  text-align:center;
  color:#fff;
}
.center {
  flex:0 1 200px;
  background:green;
  text-align:center;
  color:#fff;
}
.right {
  flex:0 1 200px;
  background:red;
  color:#fff;
  text-align:center;
}
</style>
</head>
<body>

<div class="parent">
    <div class="left" >
        <p>left</p>
    </div>
    <div class="center">
        <p>center</p>
    </div> 
    <div class="right">
        <p>right</p>
    </div>        
</div>

</body>
</html>

两边对齐

<!DOCTYPE html>
<html>
<head>
<style>
/* This is a single-line comment */
.parent {
  background:yellow;
  height:100px;
  display:flex;
  justify-content:space-between;
  align-items:center
}
.left {
  flex:0 1 200px;
  background:blue;
  text-align:center;
  color:#fff;
}
.center {
  flex:0 1 200px;
  background:green;
  text-align:center;
  color:#fff;
}
.right {
  flex:0 1 200px;
  background:red;
  color:#fff;
  text-align:center;
}
</style>
</head>
<body>

<div class="parent">
    <div class="left" >
        <p>left</p>
    </div>
    <div class="center">
        <p>center</p>
    </div> 
    <div class="right">
        <p>right</p>
    </div>        
</div>

</body>
</html>

元素居中

绝对定位

<!DOCTYPE html>
<html>
<head>
<style>
  .parent{
  	width: 500px;
    height: 500px;
    position:relative;
    background:yellow
  }
  .center {
  	position: absolute;
    left:0;
    right:0;
    top:0;
    bottom:0;
    margin:auto;
    background:blue;
    width:200px;
    height:200px;
    color:#fff;
    text-align:center;
    line-height:200px
  }
</style>
</head>
<body>
	<div class="parent">
    	<div class="center">center</div>
    </div>
</body>
</html>

Flex居中

<!DOCTYPE html>
<html>
<head>
<style>
  .parent{
  	width: 500px;
    height: 500px;
    background:yellow;
    display:flex;
    justify-content:center;
    align-items:center;
  }
  .center {
    background:blue;
    width:200px;
    height:200px;
    color:#fff;
    text-align:center;
    line-height:200px;
    flex: 0 1 200px;
    
  }
</style>
</head>
<body>
	<div class="parent">
    	<div class="center">center</div>
    </div>
</body>
</html>


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/623392.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

迅为RK3588开发板-基于瑞芯微RK3588摄像头方案

硬件&#xff1a; RK3588开发板摄像头 MIPI摄像头&#xff1a; 1.1 硬件连接 RK3588 底板上有四个摄像头接口&#xff0c;如下图所示&#xff0c;此四个接口均可连接摄像头 ov5695 和 摄像头 ov13850。 摄像头模块连接硬件时要将模块对准插槽缺口处&#xff0c;J1 接口连接摄…

ipad手写笔哪款好?最好用的电容笔

近几年&#xff0c;电容笔逐渐成为人们日常生活中最重要的数码产品之一&#xff0c;不管是书写、绘画或者是玩游戏&#xff0c;使用iPad的地方就都能看到电容笔的身影。那么&#xff0c;哪个品牌的电容笔质量比较好&#xff1f;下面&#xff0c;我来给大家推荐四款好用的电容笔…

node+uniapp+socket简易聊天

目录 一、技术简介 1.1、客户端 1.2、服务器 二、代码分析 2.1、前端连接后端 2.2、前端发送&#xff0c;后端接收并广播回去 三、效果展示 四、升级版 一、技术简介 1.1、客户端 uni-app项目自行创建、weapp.socket.io这个需要后端下载cnpm i weapp.socket.io&…

1.2C++运算符重载

C运算符重载 C运算符重载是指对已有的C运算符进行重新定义&#xff0c;使其能够适用于用户自定义的数据类型。通过运算符重载&#xff0c;我们可以使用C运算符对自定义的数据类型进行操作&#xff0c;使得程序更加简洁、易读、易维护。 C支持对大部分运算符进行重载&#xff…

CleanMyMac X2023电脑深度清理软件

在使用mac时&#xff0c;小编遇到了运行内存不足、硬盘空间不足的情况。遇到这种情况&#xff0c;我们可以借助经典的电脑深度清理软件——CleanMyMac X&#xff0c;清理不常用的软件和系统垃圾&#xff01; 作为一款专业的mac电脑系统管家&#xff0c;CleanMymac X一直致力于…

韧性数据安全体系的原则和组成|CEO专栏

“韧性”数据安全体系&#xff0c;是美创科技在数据安全的最新探索。 特设专栏“构建适应性进化的韧性数据安全体系”中&#xff0c;首期文章&#xff08;点击此处跳转&#xff09;&#xff0c;我们重点介绍了韧性数据安全体系的三个目标&#xff1a;韧性和弹性、适应性进化、复…

【基于Rsync实现Linux To Windows文件同步】

基于Rsync实现Linux To Windows文件同步 简介安装步骤安装Linux服务器端1.安装rsync2.启动Rsync3.验证是否启动成功4.修改rsyncd.conf重启rsync服务 安装Windows客户端1.rsync客户端安装&#xff1a;2.配置环境变量3.测试rsync命令4.创建密码文件5.密码文件授权6.查看服务端需要…

【jupyter notebook】‘jupyter‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

目录 0.问题背景环境介绍 1.解决步骤 2.测试步骤 0.问题背景环境介绍 1&#xff09;环境&#xff1a;windows64 2&#xff09;问题背景&#xff1a;在搭建jupyter notebook的过程中&#xff0c;想用windows的任务管理器启动jupyter notebook或者使用【jupyter notebook --…

赋能生态合作 共话数字创新 | 2023开放原子全球开源峰会软硬协同开源分论坛即将启幕

随着信息技术的迅猛发展&#xff0c;当下智能应用场景日益复杂、数据量爆发式增长、数据形式也多种多样&#xff0c;作为跨越无数创新领域的驱动者&#xff0c;理应打造更高质量的生态系统和开源生态&#xff0c;提供丰富的软件产品和服务&#xff0c;打造软件和硬件协同开源的…

地理空间数据云管理-四维轻云1.3.2-版本更新内容

很多用户想要在不上传数据的情况下查看案例数据&#xff0c;我们在四维轻云1.3.2版本中为新用户新增了示例项目。此外&#xff0c;此次更新还新增了标绘数据模式和场景定时保存提醒功能&#xff0c;优化了插件启动流程以及移动和旋转变化轴。 1、新增示例项目 示例项目中包含…

idea里边创建类的时候和方法自动生成注释

idea里边创建类的时候和方法自动生成注释 我们经常写代码的时候需要在类上编写注释&#xff0c;标明这个类是谁写的有什么作用&#xff0c;其实每次写都会发现有很多相同的字段&#xff0c;比如作者&#xff0c;创建时间&#xff0c;类名等&#xff0c;有的时候方法上也要标明…

bug:wx.switchTab: url 不支持 queryString

uni-app 开发小程序时 &#xff0c;bug&#xff1a;wx.switchTab: url 不支持 queryString 前言&#xff1a;在首页分类入口跳转到具体某一分类时&#xff0c;分类页是项目的底导页面&#xff0c;存在于tabbar里&#xff0c;需要使用switchTab进行跳转。参数是分类的id&#xf…

coreDNS 常见问题及优化方案

目录 问题现象一 导致原因 优化方案 问题现象二 导致原因 优化方案 Core DNS配置优化和说明 参考文章&#xff1a; 问题现象一 重启coredns pod导致集群业务解析域名五分钟可不用 导致原因 当集群使用IPVS作为kube-proxy负载均衡模式时&#xff0c;您可能会在CoreDNS…

【IMX6ULL驱动开发学习】03.设置IMX6ULL开发板与虚拟机在同一网段

为什么要设置IMX6ULL与虚拟机通信&#xff1f; 因为要把在虚拟机下编译的文件传到IMX6ULL开发板上运行 设置好同一网段&#xff0c;可以互ping后&#xff0c;可以参考这篇博客&#xff0c;实现开发板与虚拟机的文件互传 IMX6ULL开发板与虚拟机互传文件 目录 一、设置window…

Vue.js 中的 mixin 和 extends 有什么区别?

Vue.js 中的 mixin 和 extends 有什么区别&#xff1f; 在 Vue.js 中&#xff0c;mixin 和 extends 是两种常见的代码复用方式。它们都可以让我们在多个组件之间共享代码&#xff0c;提高代码复用性和开发效率。但是&#xff0c;它们之间还是有一些区别的&#xff0c;本文将介…

S32DS的安装教程参考

进入恩智浦官网 点击右上角注册登陆进行注册账号->注册成功后登录成功显示为"我的恩智浦" 1.我使用的是 S32 DS for Power Architecture v2.1 当然可以根据自己需求下载相应软件版本 2.点击搜索框,输入S32ds,回车enter 3.找到相应信息&#xff0c;点击蓝字(有…

阿里巴巴内部Spring Cloud Alibaba 全彩 PDF 版手册限时开源

众所周知&#xff0c;Spring Cloud Alibaba 是致力于提供微服务开发的一站式解决方案。但是很多的同学还是不是很了解&#xff0c;或者说知识略懂一些浅显的知识&#xff0c;从没有深入地学习过。 今天我们就来系统地学习一下 Spring Cloud Alibaba 第三版的内容&#xff0c;第…

Python数据分析案例29——自编码器监测异常值

与传统的监督学习不一样&#xff0c;这一篇主要是讲述自编码器模型的&#xff0c;是无监督学习&#xff0c;并且用于的任务不是分类或者回归&#xff0c;而是异常值的监测。 案例背景 需要从一堆网络流量特征监控的数据中寻找哪些可能是异常情况。 听着像分类问题对吧&#x…

虹科新闻 | 虹科与Skkynet正式建立合作伙伴关系

近日&#xff0c;虹科与Skkynet正式建立合作伙伴关系&#xff0c;双方就工业应用自动化领域进行深入的交流与合作&#xff0c;未来将共同致力于为亚洲市场提供完整的工业物联网通讯解决方案&#xff0c;解决亚洲客户的物联网挑战。 虹科与Skkynet都表示十分期待这次的合作。“虹…

【IMX6ULL驱动开发学习】04.IMX6ULL开发板与虚拟机互传文件

互传文件前提&#xff1a;IMX6ULL开发板和虚拟机能够互相ping通&#xff0c;即在同一网段下且能够互ping 可参考这篇博客&#xff1a;设置IMX6ULL开发板与虚拟机在同一网段 目录 一、使用SCP命令 二、通过SFTP服务传输文件&#xff08;使用Xftp等工具&#xff09; 三、通过N…