首页 > 其他分享 >如何仅使用 CSS 创建响应式网站

如何仅使用 CSS 创建响应式网站

时间:2022-09-01 09:02:53浏览次数:86  
标签:字体大小 创建 响应 html 使用 浏览器 屏幕 CSS

如何仅使用 CSS 创建响应式网站

使用 vw 和 rem 构建响应式页面。

Photo by 用户体验商店 on 不飞溅

前言

从移动浏览器或应用程序访问的网站越来越多。对我来说,在空闲时间,我基本上是用手机访问网站。移动浏览器对用户来说很方便,但对开发人员来说却是痛苦的,因为屏幕大小不同。例如,iPhone 有 7 种不同的尺寸。为了获得更好的体验,不同的屏幕尺寸需要不同的显示效果。与 iPhone SE 相比,iPhone Pro 需要显示更大的 font-size 和 padding。

常见的方法是使用媒体查询来更改 html 的字体大小以反映屏幕尺寸的更小或更大。我们可以使用 雷姆 作为每个元素的长度单位。

例如,我们可以将 1 级标题设置为 2雷姆 , 如果 html 字体大小是 16像素 ,那么 h1 标签的字体大小将是 32像素 (1rem = 16px)。在大屏幕中,我们只需要通过媒体查询来改变基本字体大小。

 html {  
 字体大小:16px;  
 }  
 h1 {  
 字体大小:2rem;  
 }  
[ @媒体](https://twitter.com/media) 屏幕和(最小宽度:500px){  
 html {  
 字体大小:20px;  
 }  
 }[ @媒体](https://twitter.com/media) 屏幕和(最小宽度:600px){  
 html {  
 字体大小:24px;  
 }  
 }

当我们缩放屏幕时,标题字体大小也会改变:

通过使用媒体查询,我们必须指定规则来应用不同的字体大小,效果看起来不是很流畅。调整屏幕大小时如何平滑调整字体大小?

使用视口单元 vw

视口单位始终代表屏幕尺寸, 1大众 等于视口宽度的百分之一,这意味着如果我们使用 大众 ,它总是与视口的大小有关:

 1vw = document.documentElement.clientWidth / 100

我们可以通过设置 body 在 chrome devtools 上进行测试 字体大小:1vw ,实际值将与 document.documentElement.clientWidth / 100

通过使用 大众 允许我们使页面具有响应性,但有一个问题是我们无法缩放文本。上面的演示表明 1大众 在移动屏幕上会非常小,在 PC 桌面浏览器中会额外。

解决方案是使用 CSS 函数,比如 计算() , 夹钳()

 <h1>响应式字体大小(仅使用 vw)</h1>  
 <p class="calc">使用 calc() 的解决方案</p>  
 <p class="clamp">使用钳位()的解决方案</p> // CSS  
 h1 {  
 字体大小:10vw;  
 }  
 .calc {  
 字体大小:计算(10px + 5vw);  
 }  
 。夹钳 {  
 字体大小:钳位(20px,5vw,2rem);  
 }

我们直接设置元素 font-size 而不是设置 html font-size 只是为了测试。在实际项目中,建议设置 html font-size 以供我们使用 雷姆 对于元素框大小或其他长度。它的行为如下:

夹钳() 可能更有用,它支持三个参数,最小值、首选值和最大值。语法是:

 钳位(最小值、值、最大值) 被解析为 M ath.max(MIN, Math.min(VAL, MAX))

所以我们可以利用这个特性为移动浏览器和桌面浏览器创建响应式网站。

里面有demo Codepen.io ,您可以通过调整浏览器窗口大小来测试它。

结论

我们使用视口单元 大众 和 CSS 函数 夹钳() 通过设置页面基本字体大小来创建响应式网页,并且页面中的每个元素都使用 雷姆 作为长度单位。我在许多项目中都使用这种方式,希望这可以帮助你。

感谢您的阅读,我期待您的以下更多实用技能:

[

不要使用变换到中心元素

将我们不知道大小的元素居中的更好方法

levelup.gitconnected.com

](/dont-use-transform-to-center-element-b378587ad1db)

[

如何仅使用 CSS 实现滚动到顶部

使用粘性布局和标签滚动

levelup.gitconnected.com

](/how-to-implement-scroll-to-top-with-only-css-ae27cb9d4678)

[

如何在不使用 CSS 边框的情况下构建元素边框

4种实现边框效果的方法

levelup.gitconnected.com

](/how-to-construct-an-element-border-without-using-csss-border-4a5c9fc7c9e6)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/7664/50170108

标签:字体大小,创建,响应,html,使用,浏览器,屏幕,CSS
From: https://www.cnblogs.com/amboke/p/16645261.html

相关文章

  • 第 18 天:创建三枪强化
    第18天:创建三枪强化客观的:我们如何开始在Unity项目中为我们的玩家构建我们的第一个道具?所以,既然我已经深入到我的项目中,是时候创建更多的对象和行为来获得更多的行......
  • 【学习笔记】CSS 动画keyframes
    【学习笔记】CSS动画keyframes必要项目@keyframes动画名称对应animation-name:动画名称动画持续时间,指动画开始到结束时间,预设为0,若没有设定,动画不会执行。下......
  • VSCode创建Vue项目完整教程
    VSCode创建Vue项目完整教程文章目录一、配置环境1.安装VSCode2.安装node.js3.安装配置脚手架vue-cli二、创建vue项目1.命令方式创建2.重新初始化依赖3.启动项目......
  • onenote突然无法同步,同步报错以及创建笔记本都报错问题解决
    同步报错:OneNote当前无法同步笔记。将继续尝试。(错误代码:0x80004005bdf5j)创建笔记本报错:OneNote无法在以下位置新建笔记本打开笔记本报错:无法打开笔记本无法打开......
  • Maven项目创建并打印出Hello worlld
    主要分为两大部,①创建Maven项目,②在项目中打印一个Helloworlld。Step1.打开IDEA欢迎界面点击“NewProject”,创建新项目。 Step2.创建Maven项目,jdk选择1.8版本(看......
  • 创建镜像(alpine版)+alpine
    目录podman用脚本和dockerfile做apache编译安装镜像1.0安装介质2.0特点2.0基础命令3.0模式podman用脚本和dockerfile做apache编译安装镜像[root@localhost~]#mkdir......
  • CSS — 如何使用关键帧创建简单的动画
    CSS—如何使用关键帧创建简单的动画我决定对我从事的一些项目的关键帧做一个简单的教程。我不会使用JS对于本教程。第1步—设置HTML首先添加一些简单的样板H......
  • px,魔法单位 | CSS
    px,魔法单位|CSS1px是指CSS中每个屏幕上的1个像素吗?我们都在CSS中使用px单位来为宽度、高度、边距、字体大小等赋值。但这里的问题是一个像素到底是多少。它......
  • js创建二维数组
    js创建二维数组的方法:方法一:直接设置letarr=[];arr[0]=[1,2,3,4,5,6];arr[1]=[10,20,30,40,50,60]方法二: fill+一个for循环letarr=newArray(1......
  • 使用 CSS 输入标签 — 教程
    使用CSS输入标签—教程HTML对于HTML,我们需要一个带有标签和输入的容器。我们还将为输入设置占位符(“”),这将允许我们使用CSS检测输入何时具有某些值。<divcla......