当前位置: 首页 > 编程日记 > 正文

通过响应式web设计,使本站支持手机浏览

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

2014-01-28 14:49:14

现在越来越多的人通过手机来上网,手机由于屏幕尺寸的原因,当浏览为PC端浏览器设计的网页的时候,往往会出现各种各样的问题。 糊涂僧的这个小博客也一样,为了让本站在手机端也表现的较好,所以今天用上了响应式web设计的思路,对本站进行了改造,现在在手机上浏览本站能够得到较好的体验。

一、问题

现在越来越多的人通过手机来上网,手机由于屏幕尺寸的原因,当浏览为PC端浏览器设计的网页的时候,往往会出现各种各样的问题。
糊涂僧的这个小博客也一样,为了让本站在手机端也表现的较好,所以今天用上了响应式web设计的思路,对本站进行了改造,现在在手机上浏览本站能够得到较好的体验。

我们先来看一下效果,看看应用响应式设计前后,在手机上浏览本站的样子:

之前的样子,是把网站按比例缩小了,基本上看不清文字,只能通过放大了看



应用响应式设计之后的样子,内容跟PC端一样,只是布局不一样了,也没有缩放,看起来更适合在手机端阅读。



二、响应式设计的简单原理

下面我们先看一下到底什么是响应式WEB设计,是怎么来实现的。
响应式WEB设计听起来挺高端大气上档次的,它的英文叫“Responsive Web Design”,在咱们国内也叫流式设计、自适应布局等等,都是一个意思。
它解决的问题是,让网页在各种不同分辨率的屏幕上表现的尽可能好。

说到布局,我们知道在网页制作当中, 负责样式布局的就是CSS了,一个页面的文字大小啊,元素的宽高啊,都由CSS来负责, 所以响应式WEB设计的核心就是让不同的分辨率使用不同的CSS。比如在PC端,应用的是一套CSS,在手机端用的是另外一套CSS。


下面就介绍两个响应式设计的核心HTML CSS元素, ViewPort 和 MediaQuery

1、什么是ViewPort?
ViewPort直接翻译过来就是“视口”,我看国内有些人也是这么叫的,详细的介绍大家可以去看苹果官方的一个介绍,还是很不错的,说的很详细,Safari Web Content Guide: Configuring the Viewport


简单来说,就是可视区域,比如我们手机浏览器。 因为Viewport是个区域,所以它有这几个属性,宽、高、是否缩放、缩放比例等。

上面的图片,在未应用响应式web设计之前,手机浏览器是把页面缩放了,实际上也就是ViewPort的缩放属性起了作用。那么,我们现在第一步要做的就是,让页面别缩放,该是多大就显示多大。

那么,我们就要通过ViewPort属性来做,告诉浏览器不要缩放,
具体的代码就是在HTML头部,加上一个meta标记,name就叫viewport,后面可以跟上viewport的那些属性。

width=device-width 就是告诉浏览器,viewport的宽度就是当前设备的宽度,比如iphone是320px
initial-scale =1 就是告诉浏览器,初始的缩放比例是1,也就是1:1显示,不缩放。

2、MediaQuery属性
MediaQuery翻译过来是“媒体查询”,也就是浏览器能够知道当前设备的一些情况,比如设备的分辨率是多少,你是横屏还是竖屏等。 通过MediaQuery,我们就能够对不同的分辨率应用不同的 CSS样式。

MediaQuery是写在CSS中的,大体的写法如下:

body{color:red;}
@media only screen and (max-width : 480px) {body{color:blue;}}
@media only screen and (min-width:480px and max-width : 960px) {body{color:#000000;}}

意思是,默认情况,页面文字是红色的, 当屏幕宽度小于480px时,页面文字变成蓝色的, 当页面宽度大于480px小于960px时,页面文字变成黑色的。


三、本站是如何做的

通过上面的介绍, 大家应该有了大体的思路了, 代码也很简单,我就是在原有css的后面加上了下面的代码,当浏览器的宽度小于480px的时候,应用下面的CSS来重新对页面布局,比如把“糊涂僧”几 个字的大小调小点,把左侧的导航栏搬到上面等, 具体大家可以翻翻我的代码看看。
http://www.hutuseng.com/ui/css/layout.css

@media only screen and (max-width : 480px) 
{
    img{max-width:100%; height:auto;} /*让图片也能够自适应*/
   #logo{height: 40px;font-size: 16px;padding: 5px 10px;} /*糊涂僧几个字变小点 ,间距调小点*/
   .slidebar{padding: 0px;width: 100%;float: none;clear: both;overflow: hidden;} /*左侧导航栏不浮动了*/
   .mainContent{margin-left: 0px;} /*右侧内容区没有左边距了*/
   .article .article_image {float: none;width: 100%;} /*文章的图片不浮动了,单独一行*/
   .article .article_summary{margin-left: 0px;} /*文章的简介放在图片下面显示了*/

}

转载于:https://my.oschina.net/u/2357525/blog/702760

相关文章:

在ASP.NET中跨页面实现多选

作者&#xff1a;孟宪会 微软MVP SelectMultiPages.aspx <% Page EnableViewState"true" CodeBehind"SelectMultiPages.aspx.cs" Language"c#" AutoEventWireup"false" Inherits"eMeng.Exam.SelectMultiPages" %><…

c#有多少种可能导致写文件失败?

1.路径中有非法字符 Path.GetInvalidPathChars() 2.文件名中有非法字符 Path.GetInvalidFileNameChars() 3.文件创建时&#xff0c;文件夹只读。 4.文件创建时&#xff0c;文件夹权限不足&#xff0c;如需要管理员权限。 5.文件创建时&#xff0c;文件夹不存在。 6.系统目录&am…

抖音、快手和直播行业的火爆究竟给了谁机会?

经常收到一些CSDN小伙伴的留言&#xff0c;反馈如下这样的困惑“短视频这么火爆&#xff0c;我该学些什么技术才能入行&#xff1f;”“我想从事音视频开发&#xff0c;该如何入门和进阶&#xff1f;真的像坊间传闻的那么难吗&#xff1f;”音视频的开发前景做一个不恰当的比喻…

android上line-height的问题

关于line-height大家应该非常熟悉了吧&#xff0c;就是用来做垂直居中的&#xff0c;屡试不爽&#xff0c;基本上没有什么问题&#xff0c;但是最近一个项目&#xff0c;测试提了一个bug&#xff0c;看图吧。 从别处窃的图&#xff0c;这个问题只有安卓上才能复现&#xff0c;做…

深入讲解 ASP+ 验证

Anthony Moore Microsoft Corporation 2000年10月简介 这篇文章详细讲解了 ASP 验证控件的工作方式。如果要生成其中包含验证控件的复杂页面&#xff0c;或是要扩展验证框架&#xff0c;建议您阅读本文。如果要学习使用验证控件&#xff0c;或是要决定是否使用验证控件&…

EditText和TextView出现中文、英文等string串的排版问题

默认EditText和TextView自动换行。如果在string中出现了中文字符&#xff0c;排版出现意外&#xff0c;如图所示&#xff1a; 这是因为软盘默认的是半角输入&#xff0c;而字母与数字的占位与汉字不同&#xff0c;所以在默认的情况下会出现如上的排版情况。 但是如果将默认的半…

阿里云蒋江伟:我们致力于为世界提供70%的算力 | 凌云时刻

导读&#xff1a;6月9日&#xff0c;2020阿里云峰会在云端召开&#xff0c;阿里巴巴合伙人、阿里云智能基础产品事业部高级研究员蒋江伟出席峰会并做了题为《新基建&#xff0c;新算力&#xff1a;阿里云基础设施算力全新升级》的重磅发布。&#xff08;以下内容为演讲实录&…

zabbix 微信报警( python 2.x )

python 2.x 微信报警脚本#!/usr/bin/python #_*_coding:utf-8 _*_ __author__ lvnianimport urllib,urllib2 import json import sysdef gettoken(corpid,corpsecret):gettoken_url https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid corpid &corpsecret corpsec…

利用 AssemblyAI 在 PyTorch 中建立端到端的语音识别模型

作者 | Comet译者 | 天道酬勤&#xff0c;责编 | Carol出品 | AI 科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;这篇文章是由AssemblyAI的机器学习研究工程师Michael Nguyen撰写的。AssemblyAI使用Comet记录、可视化和了解模型开发流程。深度学习通过引入端到端的…

PHP中的页面跳转

PHP页面跳转一、header()函数 点击按钮<input type"submit" name "submit" value"确定" /> 使用POST方式<form action"X.php" method"post"> X.php页面只做判断逻辑 处理完以后 <?php //isset函数 if…

Closure Compiler 使用

为什么80%的码农都做不了架构师&#xff1f;>>> 该项目首页&#xff1a;http://code.google.com/intl/zh-CN/closure/compiler/ 下载地址&#xff1a;http://closure-compiler.googlecode.com/files/compiler-latest.zip 下载后解压&#xff0c;即可看到compiler.j…

如何通过动态生成Html灵活实现DataGrid分类统计的界面显示功能

作者&#xff1a;未知 请作者速与本人联系步入 IT 业已经有几年的时间了 , 从最早接触 pb6.0 到现在 .Net 技术 , 计算机技术不论是从硬件还是软件都有巨大的进步 . 而中国程序员总体水平在世界上也是远远落后&#xff0c;其中缺乏完善的体系、必要的交流和程序员个人英雄主义…

Revit二次开发之“选择某一楼层的墙”

其实就是过滤器的用法。这里想要找到同一楼层中的风管&#xff0c;不可行。 要用&#xff1a;duct.ReferenceLevel//选择某一楼层上的墙[Transaction(TransactionMode.Manual)][Regeneration(RegenerationOption.Manual)]//[Journaling(JournalingMode.NoCommandData)]publiccl…

百变应用场景下,优酷基于图执行引擎的算法服务框架筑造之路!

作者| 阿里文娱高级专家 随方&#xff0c;阿里文娱开发专家 轩成责编 | 屠敏头图 | CSDN 下载自视觉中国背景在阿里的业务中&#xff0c;有广泛的算法应用场景&#xff0c;也沉淀了相关的算法应用平台和工具&#xff1a;基础的算法引擎部分&#xff0c;有成熟的召回和打分预估引…

Attach Volume 操作(Part II) - 每天5分钟玩转 OpenStack(54)

上一节我们讨论了 attach volume 操作中 cinder-api 的工作&#xff0c;本节讨论 cinder-volume 和 nova-compute 如何将 volume attach 到 Instance。cinder-volume 初始化 volume 的连接cinder-volume 接收到 initialize_connection 消息后&#xff0c;会通过 tgt 创建 targe…

关于DataGrid等控件中的自动编号

作者&#xff1a;未知 请作者速与本人联系序号内容1Taye2BOx3Glass4StarCraft一、正序A、AllowPagingFalse情况下<asp:DataGrid id"DataGrid1" runat"server"> <Columns> <asp:TemplateColumn> <ItemTemplate> …

45个优秀的国外电子商务网站设计实例

这篇文章与大家分享45个国外优秀的电子商务网站设计案例&#xff0c;希望能带给你灵感。对于电子商务网站来说&#xff0c;也许销售更多产品比漂亮的外观设计更重要&#xff0c;不过漂亮的东西总是能给用户留下深刻的印象&#xff0c;一起欣赏。 TALBOTS Free People Armani Ex…

曝光!十万开发者喜爱的顶级当红讲师

作为一枚后浪程序员&#xff0c;在互联网时代下我们拥有巨大优势&#xff1a;知识的时间空间界限被打破&#xff0c;让我们有机会学习到前沿技术知识。以往&#xff0c;大部分程序员都是是通过传统的博客文章、参与线下会议等形式来获取最新知识&#xff0c;而 CSDN 推出的在线…

连接centos7桌面方法

方法一&#xff1a; 第一步$sudo yum install tigervnc* 第二步$vncserver&#xff08;提示输入连接密码&#xff09; 第三步关防火墙或开5901..等端口 第四步vncview连接 方法二&#xff1a; 下载nomachine https://www.nomachine.com/download/linux&id1rpm &#xff0d;…

让“云”无处不在-Citrix Xenserver之一 环境搭建

让“云”无处不在-Citrix Xenserver 一、准备部署环境 马博峰 2011年8月 ——————————————————————————————————————— 一、Xenserver介绍 Citrix XenServer 是一个完整的服务器虚拟化平台&#xff0c;已针对 Windows 和 Linux 虚拟服务器…

DataGrid/DataList

很久以前就想写一些关于DataGrid/DataList的东西&#xff0c;但是一直以来&#xff0c;一方面自感所学未深&#xff0c;另一方面&#xff0c;总觉无从下笔&#xff0c;一拖再拖&#xff0c;离刚开始的念头已距一年有余。DataGrid/DataList在ASP.NET中的重要性&#xff0c;想必就…

京东姚霆:推理能力,正是多模态技术未来亟需突破的瓶颈!

受访者 | 姚霆&#xff0c;京东 AI 研究院算法科学家记者 | 夕颜来源 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;21 世纪&#xff0c;没有谁不知道电商&#xff0c;工资可以不发&#xff0c;但是每个月不网购几单&#xff0c;那是不可能的&#xff01;打开熟悉的购…

[转]C#网络编程(异步传输字符串) - Part.3

本文转自&#xff1a;http://www.tracefact.net/CSharp-Programming/Network-Programming-Part3.aspx 这篇文章我们将前进一大步&#xff0c;使用异步的方式来对服务端编程&#xff0c;以使它成为一个真正意义上的服务器&#xff1a;可以为多个客户端的多次请求服务。但是开始之…

【百度地图API】——如何用label制作简易的房产标签

摘要&#xff1a; 最近&#xff0c;API爱好者们纷纷说&#xff0c;自定义marker太复杂了&#xff01;不仅定义复杂&#xff0c;连所有的dom事件都要自己重新定义。有没有快速简易创建房产标签的方法呢&#xff1f; 答案当然是有的啦~ 我们可以利用label嘛&#xff01; --------…

李洪根关于[SQL]对于分页存储过程

作者&#xff1a;李洪根 微软MVP1。我个人认为最好的分页方法是: Selecttop10*fromtablewhereid>200写成存储过程,上面的语句要拼一下sql语句,要获得最后大于的哪一个ID号2。那个用游标的方式,只适合于小数据量的表,如果表在一万行以上,就差劲了你的存储过程还比不上NOT IN…

避不开的算法,如何吃透?

作者 | Alekya Ragipally译者 | 弯月&#xff0c;编辑 | 屠敏题图 | 自东方 IC出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;当你使用搜索引擎&#xff08;例如Google Chrome、Mozilla Firefox等&#xff09;的时候&#xff0c;后台发生了什么&#xff…

CentOS 6.4下PXE+Kickstart无人值守安装操作系统

一、简介1.1 什么是PXEPXE(Pre-boot Execution Environment&#xff0c;预启动执行环境)是由Intel公司开发的最新技术&#xff0c;工作于Client/Server的网络模式&#xff0c;支持工作站通过网络从远端服务器下载映像&#xff0c;并由此支持通过网络启动操作系统&#xff0c;在…

Asp.NET中常用的一些优化性能的方法

ASP.NET 的缓存机制相比ASP有很大的改进&#xff0c;本文档除对常用优化方法进行总结介绍外&#xff0c;强调了如何使用ASP.NET的缓存来获得最佳性能。1&#xff1a;不要使用不必要的session 和ASP中一样&#xff0c;在不必要的时候不要使用Session。可以针对整个应用程序或者页…

不信你看!这次Python和AI真的玩儿大了!!

这是一个很难让人心平气和的年代。不少人都想学 AI&#xff0c;总担心自己学不会&#xff0c;学不懂&#xff0c;或者学的课不是只教Python&#xff0c;就是缺少项目实战。最终都是浅尝辄止&#xff0c;不了了之&#xff01;我每天在公众号后台收到上千条类似的留言&#xff1a…

【引用】在Eclipse中将java Project转换成Dynamic Web Project

编辑工程的.project文件&#xff1a; 添加 <nature>org.eclipse.wst.common.project.facet.core.nature</nature> <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> <nature>org.eclipse.jem.workbench.JavaEMFNature<…