我的编程空间,编程开发者的网络收藏夹
学习永远不晚

css3自适应布局如何实现

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

css3自适应布局如何实现

这篇文章主要介绍“css3自适应布局如何实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“css3自适应布局如何实现”文章能帮助大家解决问题。

自适应布局又称“响应式布局”,是指可以自动识别屏幕宽度、并做出相应调整的网页布局;这样的网页能够兼容多个不同的终端,而不是为每个终端做一个特定的版本。自适应布局是为解决移动端浏览网页而诞生的,能够为使用不同终端的用户提供很好的用户体验。

css3自适应布局如何实现

本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。

什么是自适应布局

自适应布局又称“响应式布局”,可以自动识别屏幕宽度、并做出相应调整的网页布局,简单来讲就是网页能够兼容多个不同的终端(设备),而不是为每个终端做一个特定的版本。

其实简单来讲自适应与非自适应的不同就是一个页面不管在什么设备的分辨率下都能自动识别适应,为浏览的用户带来了更好的体验效果。

这个概念是为解决移动端浏览网页而诞生的。自适应布局能够为使用不同终端的用户提供很好的用户体验,而且随着大屏智能手机的普及,用“大势所趋”来形容也不为过。

css3实现自适应布局的方法

常用的方式有以下几种:

  • 使用 CSS 中的媒体查询(最简单);

  • 使用 JavaScript(使用成本比较高);

  • 使用第三方开源框架(例如 bootstrap,可以很好的支持各种浏览器)。

接下来我们以媒体查询为例来具体演示一下自适应布局的实现。

1、设置 meta 标签

首先,我们需要设置 meta 标签来告诉浏览器,让视口(网页的可视区域)的宽度等于设备的宽度,并禁止用户对页面的缩放,如下所示:

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">

在设置视口时需要注意,视口就是网页可见区域的尺寸,设置视口时只设置宽度就行,不用在乎高度,具体高度由网页内容自动撑开。上面 meta 标签中内容的含义如下:

  • viewport:即视口,表示网页的可视区域;

  • width:控制 viewport 的大小,可以指定一个具体的值,例如 600,也可以是由关键字组成的特殊值,例如 device-width 就表示设备的宽度;

  • initial-scale:表示初始缩放比例,也就是页面第一次加载时的缩放比例;

  • maximum-scale:表示允许用户缩放的最大比例,范围从 0 到 10.0;

  • minimum-scale:表示允许用户缩放到最小比例,范围从 0 到 10.0;

  • user-scalable:表示用户是否可以手动缩放,“yes”表示允许缩放,“no”表示禁止缩放。

2、媒体查询

CSS 媒体查询可以根据指定的条件,针对不同的媒体类型(screen print)定义不同的 CSS 样式,让使用不同设备的用户都能得到最佳的体验。

关于媒体查询有以下三种实现方式:

1)、直接在 CSS 文件中使用,示例代码如下:

@media (max-width: 320px) {
    
    body {
        background: pink;
    }
}
@media (min-width: 321px) and (max-width: 375px) {
    
    body {
        background: red;
    }
}
@media (min-width: 376px) and (max-width: 425px) {
    
    body {
        background: yellow;
    }
}
@media (min-width: 426px) and (max-width: 768px) {
    
    body {
        background: blue;
    }
}
@media (min-width: 769px) {
    
    body {
        background: green;
    }
}

2)、使用 @import 导入,示例代码如下:

@import 'index01.css' screen and (max-width:1024px) and (min-width:720px)
@import 'index02.css' screen and (max-width:720px)

3)、在 link 标签中使用,示例代码如下:

<link rel="stylesheet" type="text/css" href="index01.css" media="screen and (max-width:1024px) and (min-width:720px)"/>
<link rel="stylesheet" type="text/css" href="index02.css" media="screen and (max-width:720px)"/>

下面通过一个综合的示例来演示一下响应式布局的实现:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>自适应布局(响应式布局)</title>
        <meta name="viewport"content="width=device-width,initial-scale=1.0,maximum-scale=1,user-scalable=no" />
        <style>
            *{
                margin: 0px;
                padding: 0px;
                font-family: "微软雅黑";
            }
            #head, #foot, #main
            {
                height: 100px;
                width: 1200px;
                
                background-color: goldenrod;
                text-align: center;
                font-size: 48px;
                line-height: 100px;
                margin: 0 auto;
            }
            #head div{
                display: none;
                font-size: 20px;
                height: 30px;
                width: 100px;
                background-color: green;
                float: right;
                line-height: 30px;
                margin-top: 35px;
            }
            #head ul{
                width: 80%;
            }
            #head ul li{
                width: 20%;
                float: left;
                text-align: center;
                list-style: none;font-size: 20px;
            }
            #main{
                height: auto;
                margin: 10px auto;
                overflow: hidden;
            }
            .left, .center, .right{
                height: 600px;
                line-height: 600px;
                float: left;
                width: 20%;
                background-color: red
            }
            .center{
                width: 60%;
                border-left: 10px solid #FFF;
                border-right: 10px solid #FFF;
                box-sizing: border-box;
            }
            @media only screen and (max-width: 1200px) {
                #head, #foot, #main{
                width: 100%;
                }
            }
            @media only screen and (max-width: 980px) {
                .right{
                    display: none;
                }
                .left{
                    width: 30%;
                }
                .center{
                    width: 70%;
                    border-right: hidden;
                }
            }
            @media only screen and (max-width: 640px) {
                .left, .center, .right{
                    width: 100%;
                    display: block;
                    height: 200px;
                    line-height: 200px;
                }
                .center{
                    border: hidden;
                    border-top: 10px  solid #FFFFFF;
                    border-bottom: 10px solid #FFFFFF;
                    height: 600px;
                    line-height: 600px;
                }
                #head ul{
                    display: none;
                }
                #head div{
                    display: block;
                }
            }
        </style>   
    </head>
    <body>
        <div>
            <header id="head">
                <ul>
                    <li>header1</li>
                    <li>header2</li>
                    <li>header2</li>
                    <li>header2</li>
                    <li>header2</li>
                </ul>
                <div>icon</div>
            </header>
            <section id="main">
                <div class="left">
                    left
                </div>
                <div class="center">
                    center
                </div>
                <div class="right">
                    right
                </div>
            </section>
            <footer id="foot">
                footer
            </footer>
        </div>
    </body>
</html>

当浏览器窗口小于 1200 像素大于 980 像素时,和大于 640 像素小于 980 像素时的样式是不同的

css3自适应布局如何实现

关于“css3自适应布局如何实现”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

css3自适应布局如何实现

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

flex布局如何实现每行固定数量+自适应布局

这篇文章主要介绍flex布局如何实现每行固定数量+自适应布局,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:效果展示解析
2023-06-08

如何使用CSS实现三栏自适应布局

这篇文章将为大家详细讲解有关如何使用CSS实现三栏自适应布局,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. 基于传统的position和margin等属性进行布局这里也分为三种方法,分别为绝对定位法,
2023-06-08

如何使用CSS实现自适应的多列布局

随着移动设备的普及,越来越多的网站需要适应不同屏幕尺寸。使用CSS实现自适应的多列布局是一个重要的技巧,可以让你的网站在各种设备上都能够展现良好的效果。本文将介绍如何使用CSS实现自适应的多列布局,并给出具体的代码示例。一、使用Flexbo
2023-10-21

css如何实现六种自适应两栏布局方式

这篇文章主要介绍css如何实现六种自适应两栏布局方式,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!html结构
2023-06-08

使用Rem怎么实现自适应布局

本篇文章给大家分享的是有关使用Rem怎么实现自适应布局,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在移动端我们一般会设置布局视口宽度=设备宽度,即内容呈现的区域在设备屏幕内。
2023-06-08

css怎么实现中间自适应布局

本篇文章为大家展示了css怎么实现中间自适应布局,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。问题:如何实现三栏布局(高度固定,左中右的结构)假设高度已知,请写出三栏布局,其中左右宽度均为300px
2023-06-08

前端开发中移动端如何实现自适应布局

这篇文章将为大家详细讲解有关前端开发中移动端如何实现自适应布局,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一. 在HTML的头部加入meta标签在HTML的头部,也就是head标签中增加meta标签,告
2023-06-08

HTML教程:如何使用Grid布局进行自适应布局

在现代的网页设计中,自适应布局是至关重要的,因为它可以确保网页在不同设备和屏幕尺寸上都能展示出最佳的效果。而CSS Grid布局则是一种强大的工具,可以实现灵活且响应式的布局效果。本文将介绍如何使用Grid布局进行自适应布局,同时提供具体的
2023-10-21

CSS如何实现两栏布局,左边固定,右边自适应

这篇文章主要介绍CSS如何实现两栏布局,左边固定,右边自适应,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. float+overflow:hidden这种办法主要通过 overflow 触发 BFC,而 BFC
2023-06-08

Vue前端项目自适应布局怎么实现

这篇文章主要介绍“Vue前端项目自适应布局怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue前端项目自适应布局怎么实现”文章能帮助大家解决问题。一、单位尺寸px%vw、vh: 窗口em:
2023-07-02

css如何实现左侧固定右侧自适应的布局方式

小编给大家分享一下css如何实现左侧固定右侧自适应的布局方式,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一.浮动布局1.先让固定宽度的div浮动!使其脱离文档流。 2.margin-left的值等于固定div的宽度相等。
2023-06-08

HTML教程:如何使用Grid布局进行自适应网格自动布局

HTML教程:如何使用Grid布局进行自适应网格自动布局,需要具体代码示例导语在Web开发中,网格布局(Grid layout)是一种更为灵活和强大的布局系统。它允许开发者将页面划分为网格单元,并通过定义行列的数量和大小来控制元素在这些单元
2023-10-26

HTML教程:如何使用Grid布局进行自适应网格布局

HTML教程: 如何使用Grid布局进行自适应网格布局在前端开发中,网页布局是一个重要的环节。而在现代的网页布局中,Grid布局已经成为了一种非常流行的选择。它可以帮助我们快速、灵活地构建各种网格布局,并且能够实现自适应的效果。本篇文章将介
2023-10-27

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录