重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
楼下正解,就是响应式布局(RWD),可以用一些自动实现的框架,比如bootstrap。
目前创新互联已为千余家的企业提供了网站建设、域名、网络空间、网站托管、企业网站设计、准格尔网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
原理我想就是动态css吧,有个东西叫less框架,可以去看看。应该无非就是用百分比代替写死的像素大小。。
1)像span这样的行内标记,定义它的margin-top和margin-bottom是无效的,除非你把它设置为块状元素才可以。Display:block
2)对于块状元素,你可以自由的使用外边距来定义版式和元素之间的距离。类似 DIV 等等,
3)无论什么元素,一旦设置为是浮动显示,就拥有了完整的盒模型结构,我们就可以使用外边距,内边距,边框,高和宽来控制的大小以及与其他对象之间的位置关系。
4)浮动是从网页布局的角度来定义元素的显示,而行内和块状属性主要是从元素自身的性质来定其显示的。
5)当元素没有定义边框时,可以把内边距作为外边距使用。有时候外边距会有重叠现象的。
6)当为元素定义背景图像时,内边距区域内可以显示背景图像,而对外边距区域来说,背景图像是达不到的,他永远都是透明状态
7)用div+css设计网页结构时,设计师满脑子都是网页内容,而非内容所呈现的效果。
8)块状元素:不管块状元素宽度是多少,他总会自动占据一行,因为在他末尾附加了一个换行符,而行内元素没有这个特点。块状元素有完整的盒模型结构,可以定义宽度和高度,而行内元素没有这个特性,无法通过高度来改变文本行的行高。
块元素的代表标记 div
行内元素的代表标记 span ,行内标记不具备组织结构框架
9)网页布局分为:自然布局,浮动布局, 定位布局
10)当一个元素被定义为浮动显示时,即定义为块状元素。并且该元素就会收缩自身体积为最小状态。所以,应该有个好的习惯即把浮动元素设置高和宽。如果没有设置,则元素会按照它所包含的内容大小来确定它的大小。
11)当元素浮动后,周边的对象会自动环绕浮动元素周围,形成一种环绕关系。
12)块状元素之间的外边距会有重叠现象,但是浮动元素之间的外边距不会发声重叠现象。
13)浮动元素移动,上移:margin-top:-**; 下移:margin-botom:-*px,其他以此类推。
14)一般定位元素(绝对或是相对元素)都会覆盖在文档流对象之上。但是,select元素的窗口控件还不完全支持z-index
15)在css定位布局中,一般遵循“外部相对定位,内部绝对定位”
16)在body中设置min-width:760px,可以避免布局重叠现象。
不要用固定宽度属性来描述元素,改用百分比,这样元素的宽度就是父元素的百分比,这是响应式布局最基本的技巧。
采用响应式布局,需要注意以下几点:第一,用百分比给元素设定大小;第二,不要对元素进行绝对定位;第三,写css时用上@media媒体查询技巧。bootstrap是响应式布局做得不错的前端开发工具,有兴趣可以学习一下。
随着终端屏幕尺寸的种类越来越多,如果针对每一种尺寸都独立开发一个页面的话,这样的开发成本将会变得非常高,响应式布局就成了解决这一问题的有效途径。当然,深层次的响应式布局应该是贯穿前端和服务端的。
1.调整视口
代码实例:
!DOCTYPE html
head
meta charset="UTF-8" /
title布局之路-移动端开发实例/title
meta name="viewport" content="width=device-width,user-scalable = no" /
link rel="stylesheet" type="text/css" href="css/reset.css" /
/head
body
div class="wrap"/div
/body
/html
代码解析:由于使用不同设备打开网页时,宽度均有所不同,所以不能讲视口设置为固定值,应当为width=device-width,即将视口设置为当前设备的宽度。
2.确定设计图的最小字体
浏览器(部分)能够显示的最小字体未12px,当移动端页面宽度为320px时,要保证最小字体为12px,那么在1080px的设计图中,最小字体应当为42px。
代码实例:
style type="text/css"
html {
font-size: 42px;
}
/style
3.浮动布局
各个区块都是浮动的,不是固定不变的。为了能自适应各个窗口。
代码实例:
.main {
float: left;
width: 70%;
}
.box {
float: left;
width: 60.93%;
font-size: 1.71rem;
text-align: center;
line-height: 4.64rem;
}
float浮动的好处就是,如果宽度不够放置下这个元素,元素会自动滚动到下方。
4.通过媒介查询,为不同设备加载相应样式
有条件应用样式:
style
@media all and(min-width:500px){ ... }
@media (orientation){ ... }
/style
代码解析:
第一行媒体查询代码指的是:为宽度大于等于500px的设备设置样式。
第二行媒体查询代码指的是:为纵屏状态(可见区域大于或等于宽度)下的移动端设备设置样式。
有条件的加载样式表:
head
link rel="stylesheet" href="wide.css" media="screen and(min-width:1024)" /
link rel="stylesheet" href="mobile.css" media="screen and(max-width:320)" /
/head
代码解析:
第一行媒体查询代码指的是:为宽度大于等于1024px的设备,加载wide.css文件。
第二行媒体查询代码指的是:为宽度小于等于320px的设备,加载mobile.css文件。
5.使用百分比和rem替换px
除了布局和文本,"自适应网页设计"还必须实现图片的自动缩放。
代码效果对比:
/*使用固定像素*/
.box {
float: left;
width: 658px;
font-size: 72px;
text-align: center;
line-height: 195px;
}
/*使用百分比和rem*/
.box {
float: left;
width: 60.93%;
font-size: 1.71rem;
text-align: center;
line-height: 4.64rem;
}
代码解析:
水平方向的值,将具体像素调整为百分比。百分比的计算是根据父级的内容区宽度进行计算的。
例如,父级宽度为1080px, 子级元素为197px,那么子元素转换为百分比为:197/1080*100%=18.24%。需要注意的是百分比根据父级计算,当标签结构级别不同时,计算公式中的“分母”也有所不同,在开发时这个地方很容易出现问题,请务必注意。
垂直方向的值,将具体像素调整为rem,与水平方向相比,垂直方向的计算就比较简单。例如,行高为195px,HTML标签当前的字体大小为42px,将行高转换为rem单位,即195/42= 4. 64rem。
随着移动互联网的发展,web前端逐渐受到企业的重视,前端开发人员的薪资也水涨船高,越来越多的人看好前端行业的发展,想要转行加入。下面,给大家分享一份web前端学习路线图,希望对初学者有所帮助。Web前端行业的发展,让前端人员能完成比以前更多的职责范围,所以未来前端可以宽口径就业,前景非常好。
对于零基础的人而言,要怎么学习web前端呢?
1、 前端页面重构。主要内容为PC端网站布局、Photoshop 工具及切图、H5移动端网页布局、HTML5+CSS3新特性与交互。学习目标是完成PC端网站布局,可实现响应式布局,一套代码适配 PC 端、移动端、平板设备等。
2、 前后端网页交互。主要内容为JavaScript语法全面进阶、ES6 到 ES10 新语法实践、jQuery 应用及插件使用、设计模式及插件编写、封装JS工具库及Web APIS、AJAX+PHP+MySQL前后端交互、前端工程化与模块化应用以及PC 端全栈开发项目等。学习目标是可以掌握前端工程化工具,如 git、gulp、webpack 等,搭建项目及开发项目。
3、 Node.js + 前端框架。主要内容为Node.js 全面进阶、Koa2+MongoDB搭建服务、Vue.js 框架、React.js 框架、小程序云开发与小程序框架、原生APP与混合APP、数据可视化与桌面应用等。学习目标是掌握桌面应用及可视化大数据,实现复杂数据展示类项目,能够独立完成前后台相关功能,胜任HTML5全栈开发工程师职位。很多学习web前端的朋友都希望在学成后能找到一份满意的工作,所以我们在学习过程中一定要注意实战经验的积累,如果你所学的东西对企业没有用,那你所做的一切都是无用功
响应式布局就是网页会根据上网设备的屏幕大小而自我调整网页的布局。听着跟木有解释一样,我举个例子:你以全屏访问亚马逊网站,然后在慢慢缩小浏览器会发现有一些东西(专业点说是dom元素)不见了,这就是响应式设计的一种。目的就是更好的用户体验。
但是响应式设计不是设置,不是说开发者点点鼠标就能完成的。从设计开始就要考虑电脑,手机等不同终端的访问,其底层是大量的css,js代码在控制着网页。
然而亲目前连响应式设计的概念都不清楚,还是先从基本的html,css,js学起,等羽翼丰满之时再去设计响应式页面。