热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

fluidmask3_CSS3FluidLayout和MediaQueries:一种响应式Web设计的简单方法

fluidmask3您是Web开发的初学者吗?您是否希望在不学习任何框架的情况下使网页具有响应能力?您是否曾被指示要在没有任何框架的情况下使页面具有响应

fluid mask 3

您是Web开发的初学者吗? 您是否希望在不学习任何框架的情况下使网页具有响应能力? 您是否曾被指示要在没有任何框架的情况下使页面具有响应性?

让我们面对现实吧,从事Web开发事业可能既有趣又累。 您必须学习很多技术,需要了解如何使用很多工具,并担心很多概念。 如果您遇到这种情况,我的建议是一次采取一步。 您会遇到的那些概念之一就是响应能力。

让我们来谈谈响应能力

响应速度是使您的网页在任何屏幕尺寸(所谓的视口)上看起来都不错的过程。 这意味着构成您的网页的所有组件都安排得井井有条,无论呈现屏幕的屏幕大小如何。

在用microverse学习HTML和CSS 5周后,我遇到了这个概念。 我曾经相信我们只能通过开发人员选择的特定框架来实现响应。 当我听到流畅的布局和媒体查询时,整个事情有了另一个层面。

什么是流体布局?

流体布局是一种设计类型,其中网页及其组件的布局会随着屏幕尺寸而调整大小。 换句话说,网页
随着屏幕尺寸的增大或减小进行调整。

通过使用百分比(%)作为度量单位而不是像素或其他单位,在CSS中实现流体布局。 当使用像素和其他单位时,页面的布局是固定的,但是当使用百分比时,页面会变得流畅。 例如, width: 14%; width: 14px;流畅width: 14px; 是固定的。

媒体查询又是什么?

此技术在CSS3中引入。 它使用不同的屏幕断点来更改CSS声明。 本质上,其目的是改变在手机,平板电脑,台式机等上访问时网页某些组件的外观。

当满足条件时,使用@media规则执行此代码以执行CSS代码块。

我该如何开始?

对于这个概念的演示,我将使用两个文件:index.html和fluid.css文件。 在index.html中,下面的meta标记必须包含在标记内。 这是为了确保浏览器以不同的屏幕尺寸呈现响应:

name = "viewport" content = "width=device-width, initial-scale=1.0" >

接下来,让我们在index.html文件的主体中输入以下代码。

class = "div-container" >

Media Queries and Fluid Layouts
class = "one-third" >

Span One-Third

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et doloremagna aliqua. Facilisi etiam dignissim diam quis enim lobortis.

class = "one-third" >

Span One-Third

Urna molestie at elementum eu facilisis. Adipiscing enim eu turpis egestas pretium aenean pharetra magna ac.Volutpat ac tincidunt vitae semper quis lectus. Imperdiet proin fermentum leo vel.

在上面的代码中,带有div-container类的

标记是父容器。 我有3个小节,分别命名为页眉,主要和页脚。 主要部分有3篇文章。

注意:

处理响应性时,我可以决定先实现更大的屏幕,然后再缩小其他屏幕尺寸。 也有可能先实现小屏幕,然后逐步实现大屏幕。 出于本文的目的,我将首先为较大的屏幕实现,然后逐步扩展到较小的屏幕。

存在具有不同屏幕尺寸的不同设备。 对于本文,我将使用4个断点(常见屏幕组的宽度),它们是:

  • 智能手机等超小型设备 (最小0px,最大479px)
    我们仅在媒体查询语句上指定最大宽度,如下所示:
    @media only screen and (max-width: 479px)
  • 小型设备,例如纵向平板电脑,大型手机等(最小480px,最大767px)
    @media screen and (min-width: 480px) and (max-width: 767px)
  • 横向平板电脑等中型设备 (最小768像素,最大1023像素)
    @media screen and (min-width: 768px) and (max-width: 1023px)
  • 大型/超大型设备,例如台式机,笔记本电脑(最小1024px以上)。
    同样,我们只需要在媒体查询中指定最小宽度:
    @media only screen and (min-width: 1024px)

继续,让我们尝试为页面中的元素提供一些基本样式。 在我的fluid.css文件中,我具有以下代码行:

.div-container {margin : 0 5% ;
}

首先,我为父容器声明了一些水平边距。 我没有使用像素,而是使用了5%,这意味着父div的左右边距应该共享屏幕总大小的5% ...好吧?

article {display : inline-block;color : darkgreen;
}.one-third {margin-right : 3% ;width : 30% ;
}.one-third :last-child {margin-right : 0 ;
}

接下来,由于我是从大屏幕开始的,所以我希望所有文章都放在同一行(100%)。

元素是一个block元素,我首先将文章的显示属性更改为inline-block,然后将每篇文章的右边距声明为3%。 另外,我指定每篇文章应占整行的30%。 最后在这里,我使上一篇文章的右边距为0。在这个级别上,对于所有屏幕尺寸,我的页面都是这样的:

对于较大的屏幕(1024像素及以上),以上方法是可以的。 但是由于我正在处理媒体查询,因此我也将为更大的屏幕更改CSS声明。

@media only screen and (min-width: 1024px ) {article {font-weight : bolder;}
}

我要做的就是打开上面指定的媒体查询,然后将所有愿意更改其值的声明放入媒体查询语句中。 在这里,我只更改了所有文章的字体粗细,以使大于1024px的大屏幕的字体更粗体

让我尝试为我的fluid.css文件中的大屏幕(最小768px,最大1023个像素)更改其中一些属性。 为此,我将使用以下代码段:

@media screen and (min-width: 768px ) and (max-width: 1023px ) {article {color : darkred;}
}

只要屏幕尺寸在768px和1023px之内 ,上面的代码段就会将所有文章的颜色更改为 深红色 。 这是媒体查询的魔力!

注意:在媒体查询语句中还有其他指定最小和最大宽度的方法/方法,但是在本文中我将坚持使用此方法。

接下来,我将对另一个屏幕尺寸(最小480px,最大767px)实施新的更改。

@media screen and (min-width: 480px ) and (max-width: 767px ) {article {color : blue;display : block;}.one-third {width : 95% ;}
}

在这里,对于指定的屏幕尺寸,我将所有文章的颜色更改为蓝色。 我也将显示声明更改为block,因为我希望每篇文章都放在单独的行中。 最后,我将每篇文章的宽度更改为95%。 输出如下所示:

最后,对于超小屏幕(最大479px),我使用了以下声明:

@media only screen and (max-width: 479px ) {article {color : black;}.one-third {width : 97% ;}
}

在上面的代码段中,对于指定的屏幕尺寸,我将所有文章的颜色更改为黑色,然后将每篇文章的宽度增加为每行的97%。 输出如下所示:

完整的代码:

HTML(index.html)


lang = "en" >charset = "UTF-8" >name = "viewport" content = "width=device-width, initial-scale=1.0" >rel = "stylesheet" href = "fluid.css" > Fluid Layout / Media Queries

CSS(fluid.css)

.div-container {margin : 0 5% ;
}article {display : inline-block;color : darkgreen;
}.one-third {margin-right : 3% ;width : 30% ;
}.one-third :last-child {margin-right : 0 ;
}@ media only screen and (max-width: 479px ) {article {color : black;}.one-third {width : 97% ;}
}@ media screen and (min-width: 480px ) and (max-width: 767px ) {article {color : blue;display : block;}.one-third {width : 95% ;}
}@ media screen and (min-width: 768px ) and (max-width: 1023px ) {article {color : darkred;}
}@ media only screen and (min-width: 1024px ) {article {font-weight : bolder;}
}

综上所述,
在媒体查询中使用流畅的布局是开发响应式广告的快速方法
几乎没有或根本没有并发症的网页。 是的, bootstrap , materialize , Foundation等框架以更快的方式实现了响应能力。

但是,媒体查询有助于了解大多数框架的构建基础。 要了解更多信息,请查看w3school关于媒体查询和流畅布局的资源。

LinkedIn , Twitter , GitHub上 与我联系

编码愉快!

翻译自: https://hackernoon.com/css3-fluid-layout-and-media-queries-a-simple-approach-to-responsive-web-design-7r463vs3

fluid mask 3



推荐阅读
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文讲述了如何通过代码在Android中更改Recycler视图项的背景颜色。通过在onBindViewHolder方法中设置条件判断,可以实现根据条件改变背景颜色的效果。同时,还介绍了如何修改底部边框颜色以及提供了RecyclerView Fragment layout.xml和项目布局文件的示例代码。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
author-avatar
三封酒可_894
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有