CSS/SCSS/LESS和自适应布局/响应式布局详解

2023-05-16

在开发前端的时候,界面布局尤为重要,要布局的非常合理,好看,css是必不可少的,然后是各种布局,使用这些布局,进行混合搭配,最终的目的都是开发一个完整的界面。前端的技术变化是五花八门的,也是群魔乱舞的,使用的方法更是层出不穷。所以本文收集了一些个人的观点,并且进行记录。好的布局不是一下能学会的,是需要大量的实战经验,上手很快,但是精通需要一定的时间才行。

目录

1.CSS/SASS/SCSS/LESS

2.界面布局的类型

3.快速上手布局


1.CSS/SASS/SCSS/LESS

第一:css中重要的属性

1:position,意思是定位,position 属性有5个值

static 定位:HTML 元素的默认值,即没有定位,遵循正常的文档流对象。 静态定位的元素不会受到 top, bottom, left, right影响。

fixed 定位:元素的位置相对于浏览器窗口是固定位置。 即使窗口是滚动的它也不会移动。

relative 定位:相对定位元素的定位是相对其正常位置。

absolute定位: 绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于<html>

sticky 定位:sticky 英文字面意思是粘,粘贴,所以可以把它称之为粘性定位。 position: sticky; 基于用户的滚动位置来定位。 粘性定位的元素是依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换。

2:媒体查询,媒体查询可以根据不同的设备或者浏览器的大小,进行自适应的变化。

语法如下,表示如果浏览器窗口小于 500px, 背景将变为浅蓝色

@media screen and (max-width: 500px) {
    body {
        background-color: lightblue;
    }
}

第二:SASS/SCSS

sass先出来,它的目的也是可以替换css的,而scss是后来出来的,它是根据sass演化而来的,所以流行和未来的选择,肯定优选scss。

第三:LESS

less也可以代替css,但是它和sass/scss是一回事,只是它们2者的底层实现原理不一样,最终的效果是一样的。

1.使用命令安装

npm install less --save

2.安装成功后有标识

3.使用

<template>
	<div>123
		<h1>456</h1>
	</div>
</template>

<style scoped lang="less">
	div {
		background-color: red;
		height: 3.125rem;
		width: 3rem;
		font-size: 1.6rem;
		h1 {
			background-color: aqua;
		}
	}
</style>

具体参考文档

Less 入门文档

总结:不管sass,scss,less,都是可以替换css的。所以,在我们使用css实现效果的时候,首选建议使用less,原因是它简单上手,然后选择scss,scss的功能更加强大。基本项目使用less足够用了。

2.界面布局的类型

界面的布局都是使用css写的,布局分为5种:固定布局,流式布局,弹性布局,自适应布局,响应式布局。

固定布局:就是静态布局,换句话说,就是界面是死的,一般是px单位。

流式布局:顾名思义,流动,像水一样,会根据界面的变化而变化,但是字体不会变化,一般是                        百分比的单位。

弹性布局:具有弹性,像橡皮筋一样,弹来弹去,可大可小,一般是rem,em单位

自适应布局:自适应,就是根据不同的设备,进行布局,一种屏幕一个布局,主要是使用媒体查询

响应式布局:最强大,一套代码,可以实现所有设备的大小的变化,包括手机端和电脑端,一般都是综合使用上面的。

以上5种布局,都是根据时间顺序发展而来的,布局一个界面,不是只选择一种布局方式,一般都是多种布局混合搭配,最终实现页面的效果,所以说,不是哪个好,哪个不好,都要根据需求而定,然后进行布局。

举例一下:百度搜索“圣杯布局”

比如菜鸟教程的CSS网页布局:菜鸟教程在线编辑器

比如菜鸟教程的Bootstrap创建一个网页:Bootstrap 实例 - 一个简单的网页

3.快速上手布局

可以使用上面提供的布局,这些布局都是响应式布局,根据浏览器不同的大小而变化的。

目前市场上,最流行的适配方案有二种。

方案一:

less+媒体查询+rem

说明:less和媒体查询前面说了。主要说一下rem。rem是根据 根元素html 的字体大小变化而变化的。直接上代码说,也就是grid-content的高度是根据html的font-size大小变化而变化。

<style>
	html {
		font-size: 10px;
	}
	.el-col {
		border-radius: 4px;

	}
	.grid-content {
		border-radius: 4px;
		height: 21rem;
	}
</style>

当font-size是10px的时候,高度是10*21等于210 

当font-size是15px的时候,高度是15*21等于315 

 这个就是rem的本质

方案二:lib-flexible+rem

说明:lib-flexible是web自适应方案 ,可伸缩布局方案。其中lib-flexible和flexible.js非常相似,可以看它们的源码,基本上一样,只是前者不需要修改任何参数,后者是手机客户端的,需要进行修改,所以,就使用前者就行了,功能都是一样的。

lib-flexible官网,可以使用命令,也可以进行下载后,进行引用

GitHub - amfe/lib-flexible: 可伸缩布局方案

1.安装amfe-flexible

npm i -S amfe-flexible

2.使用,main.js中导入

import 'amfe-flexible/index.js'
import {
	createApp
} from 'vue'
import App from './App.vue'

import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
// import 'lib-flexible/flexible.js'
// import './index.js'
import 'amfe-flexible/index.js'

const app = createApp(App)

app.use(ElementPlus)
app.mount('#app')

3.下面的代码中,在浏览器中运行的时候,就会根据浏览器的大小变化而变化

<template>
	<div>123</div>
</template>

<style scoped>
	div {
		background-color: red;
		height: 3.125rem;
		width: 3rem;
		font-size: 1.6rem;
	}
</style>

4.效果

可以看到,页面根据屏幕的大小变化而变化。

当把main中import 'amfe-flexible/index.js'去掉,就没有这种效果了。

5.补充rem说明

本实例使用的HBuilderX开发的,它的默认像素是16px,所以1rem=16px,也可以进行修改

打开设置,把16修改成10即可,此时1rem=10px。

amfe-flexible是把界面等分10份,如果电脑是1600*900的,那么宽就是1600px,高是900px,每一份就是1600px/10=160px,也就是说,1rem=160px,那么就应该把上面的配置改成160,这样在1600*900的环境开发,就是配置正常的。

<template>
	<div>123
	</div>
</template>
<style scoped>
	div {
		background-color: red;
		height: 3.125rem;
		width: 1rem;
	}
</style>

图中的实际宽度就是160px 

总结:其实响应式布局方式还有很多,例如ElementPlus提供的响应式Layout 布局 | Element Plus

其他UI框架也会提供。 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSS/SCSS/LESS和自适应布局/响应式布局详解 的相关文章

随机推荐

  • ESXi8.0 虚拟机安装黑群晖7.1.1

    ESXi虚拟机安装群辉7 1 一 准备工作 xff1a ESXi虚拟机一台 xff0c 版本任意 群辉VMDk引导文件 xff08 文章末尾有提供下载 xff09 群辉系统安装 xff08 pat xff09 文件 支持兼容情况 xff1a
  • 零刻 SEi12 Pro,ALL IN ONE搭建教程

    一台mini的NUC能做什么 xff1f 当然每个人的心里都会有着不同的答案 xff0c 既然是一台Mini主机那就肯定少不了部署一个All In One来榨干他的性能 今天我就大家带来一个部署All In One的详细教程 xff0c 希
  • [零刻]EQ12 N100 迷你主机:从开箱到安装ESXi+虚拟机

    开箱先上图 xff1a 配置详情 xff1a EQ12采用了Intel最新推出的N100系列的处理 xff0c 超低的功耗 xff0c 以及出色的CPU性能用来做软路由或者是All in one 相当不错 x
  • [零刻]EQ12迷你主机设置来电开机自启教程

    EQ12 来电自启需通过BIOS设置 断电前开机状态则来电后自动开机 xff0c 关机状态则不会自动开机 操作步骤 xff1a 1 首先关闭主机 xff0c 按下电源后 xff0c 当屏幕出现logo后 xff0c 迅速按下键盘上的Del键
  • C语言习题:字符串操作函数练习题目

    1 将包含字符数字的字符串分开 使得分开后的字符串前一部分是数字后一部分是字母 例如 h1ell2o3 gt 123hello span class token macro property span class token directi
  • Java单元测试实践-08.Stub、Replace、Suppress静态方法

    Java单元测试实践 00 目录 xff08 9万多字文档 43 700多测试示例 xff09 https blog csdn net a82514921 article details 107969340 1 Stub Replace S
  • [零刻]EQ12安装PVE虚拟机教程

    PVE虚拟机简介 Proxmox VE是一个运行虚拟机和容器的平台 基于Debian Linux xff0c 完全开源 为了获得最大的灵活性 xff0c 实现了两种虚拟化技术 基于内核的虚拟机 KVM 和基于容器的虚拟化 LXC 一个主要的
  • [零刻]EQ12&EQ12Pro安装OpenWRT软路由教程

    OpenWRT系统安装 安装前准备 1 U盘一个 2 WePE写盘工具 3 Openwrt固件 4 Img镜像写盘工具 安装步骤 xff1a 1 首先下载WePE写盘工具 xff0c 制作一个PE系统安装环境 xff0c 启动软件后 xff
  • [零刻]EQ12&EQ12Pro安装原厂系统教程

    有些小伙伴购买的准系统的版本因为不带内存和硬盘 xff0c 需要自己进行安装系统 xff0c 对于小白来说还是比较困难的 xff0c 在这里推荐大家使用原厂的系统 xff0c 里面自带驱动安装好后就可以直接使用 使用原厂系统包安装步骤 xf
  • Esxi8.0安装Ubuntu系统教程

    本篇教程主要教大家怎么在ESXi8 0虚拟机上安装Ubuntu系统 xff0c 首先安装Ubuntu需要准备一个ISO系统镜像文件 xff0c 我们可以去Ubuntu官网下载 Ubuntu官网 xff1a https ubuntu com
  • [零刻]EQ12&EQ12Pro调整风扇转速教程

    调整 CPU 风扇转速可以有不同的用途 xff0c 具体取决于您的计算机和使用情况 降低噪音 xff1a 如果您的风扇的噪音很大 xff0c 可以通过降低 CPU 风扇的转速来减少噪音 这可以通过在 BIOS 或中设置 CPU 风扇转速控制
  • [零刻]EQ12&EQ12Pro调整最低功耗教程

    在使用EQ12作为软路由的时候 xff0c 因为要不间断工作 xff0c 功耗就非常关键了 xff0c 所以并不需要太高的功耗 xff0c 所以接下来我教你怎么设置以最低功耗运行 具体操作步骤 xff1a 1 先关闭电脑 xff0c 按下电
  • 动态更新阿里云DDNS解析记录的IPv6地址,随时随地用域名远程访问自己的电脑【如何远程访问家里的电脑】

    远程访问电脑 日志简介要求1 IPv6网络1 1检查光猫是否支持IPv61 2检查路由器是否支持并开启IPv6 xff08 没有路由器的跳过这一步 xff09 1 3配置电脑防火墙1 3 1允许ICMPv6协议通过防火墙1 3 2文件共享S
  • 一个好用的js压缩加密网站

    js加密网站 我是vue的js xff0c 用了好几个加密网站得出的结果会有错 xff0c 这个挺好
  • alibaba pc safe service无法删除,一直在后台运行怎么办?

    对付流氓软件 xff0c 应当使用师夷长技以制夷的办法 xff0c 下载一个腾讯电脑管家 xff0c 然后下载里面的文件粉碎机 xff0c 在任务管理器找到对应的alibaba pc safe service服务 xff0c 点击进入具体的
  • APP流量变现之穿山甲广告平台接入

    1 首先百度搜索 穿山甲广告投放 xff0c 第一个出现的链接就是开发者官网 xff0c 截图如下 xff1a 2 进入之后点击注册 xff0c 然后登陆 xff08 这一步穿山甲超级简单 xff0c 如果不着急提现收益的话 xff0c 可
  • spss统计分析基础教程(上)--自学

    64 TOC 目录 xff09 第一章 四种窗口 数据窗口 输出窗口 语法窗口 脚本窗口 菜单 1 文件 xff1a 新建 打开 保存 另存为 将文件标记为只读 xff1a 如果之后保存文件 xff0c 则只能重命名并另存 重新命名数据集
  • OpenWrt 内的阿里云盘 WebDAV 做磁盘使用

    最近在玩OpenwWrt的时候 xff0c 在刷的固件里看到预装的阿里云盘 WebDAV xff0c 加上最近刚刚开始用阿里云 xff0c 不限速 xff0c 非常快 xff0c 通过这个服务 xff0c 可以直接把阿里云的文件架挂载在本地
  • VS2022中使用Copilot

    Copilot可以自动帮你写代码 1 打开vs2022 点击扩展 xff0c 在里面搜索copilot安装 2 安装完成后 xff0c 左下角有个小图标就是copilot 3 点击登录 会弹框 点击确定后 xff0c 跳转到网站 xff0c
  • CSS/SCSS/LESS和自适应布局/响应式布局详解

    在开发前端的时候 xff0c 界面布局尤为重要 xff0c 要布局的非常合理 xff0c 好看 xff0c css是必不可少的 xff0c 然后是各种布局 xff0c 使用这些布局 xff0c 进行混合搭配 xff0c 最终的目的都是开发一