页面布局

vw实现页面布局

不问归期 提交于 2020-01-21 15:12:10
html: <div class="g-container"> <h2>腾讯视频</h2> <h2>电视语音助手</h2> <p>连接后可用手机语音操控电视机,包括搜视频、搜明星、切频道、查天气。</p> <div class="g-bg-example"></div> <div class="g-btn-open">下载腾讯视频,使用语音助手</div> </div> css:(scss) $baseFontSize: 375; @function px2vw($px) { @return $px / $baseFontSize * 100vw; } html, body { width: 100%; height: 100%; } body { background-image: radial-gradient(circle at 50% 50%,#182537 10%,#000 90%); } .g-container { position: relative; overflow: hidden; padding-top: px2vw(56); box-sizing: border-box; } h2 { font-size: px2vw(32); color: #fff; line-height: px2vw(40); text-indent: px2vw(48); } p

移动端页面布局

谁说我不能喝 提交于 2020-01-21 03:48:09
移动端页面布局 1、弹性布局(100%布局,流式布局)——拉勾网、天猫首页 好处:充分发挥大手机的优势——显示内容越多 缺点:屏幕过大,间距过大,比例失调。 特点: 顶部与底部的bar不管分辨率怎么变,它的高度和位置都不变; 中间每条招聘信息不管分辨率怎么变,招聘公司的图标等信息都位于条目的左边,薪资都位于右边。 2、等比缩放布局(rem布局)——网易、淘宝首页 视口(viewport)设置: 在html上根据不同分辨率设置不同font-size,通过js计算出来 什么是DPR 设备的物理像素和逻辑像素(真实像素/css像素)的对应关系,即物理像素(设备像素)/逻辑像素,默认缩放为100%的情况下,设备像素和CSS像素的比值。例如iphone6,屏幕逻辑像素为375PX,而购买时所知的750PX,这就是屏幕的物理像素。 其实每个手机的DPR不全都是一样的,例如我们的iphone6它的DPR是2,但是iphon6Plus它的DPR却是3,在早先的移动设备中呢,是没有DPR这个概念的,随着我们技术的发展,移动设备的屏幕像素密度越来越高,苹果公司从iphone4开始推出了视网膜屏幕,之所以叫视网膜屏幕,是因为屏幕的PPI,也就是屏幕像素密度太高了,人的视网膜无法分辨出屏幕上的像素点。 iphone4的分辨率提高了一倍,但屏幕尺寸却没有变化,这意味着同样大小的屏幕上,像素多了一倍

移动页面兼容性布局

只谈情不闲聊 提交于 2020-01-20 14:49:51
闲来无事,整理下目前常见的移动端页面布局。主要有流式布局、响应式布局、固定宽度做法、设置viewport进行缩放、rem等比例适配等。下文只是个人及网络上对各布局的看法,如有不当之处或其它方法,可回复。 1、流式布局 流式布局的解决方案有不少弊端,它虽然可以让各种屏幕都适配,但是显示的效果极其的不好,因为只有几个尺寸的手机能够完美的显示出视觉设计师和交互最想要的效果。在页面布局的时候都是通过百分比来定义宽度,但是高度大都是用px来固定住,所以在大屏幕的手机下 显示效果会变成有些页面元素宽度被拉的很长,但是高度还是和原来一样,实际显示非常的不协调,这就是流式布局的最致命的缺点,往往只有几个尺寸的手机下看 到的效果是令人满意的,其实很多视觉设计师应该无法接受这种效果,因为他们的设计图在大屏幕手机下看到的效果相当于是被横向拉长来一样。 流式布局并不是最理想的实现方式,通过大量的百分比布局,会经常出现许多兼容性的问题,还有就是对设计有很多的限制,因为他们在设计之初就需要考虑流式布局对元素造成的影响,只能设计横向拉伸的元素布局,设计的时候存在很多局限性。 2、固定宽度做法 还有一种是固定页面宽度的做法,早期有些网站把页面设置成320的宽度,超出部分留白,这样做视觉,前端都挺开心,视觉在也不用被流式布局限制自己的设计 灵感了,前端也不用在搞坑爹的流式布局。但是这种解决方案也是存在一些问题

CSS入门指南-4:页面布局

旧巷老猫 提交于 2020-01-19 20:53:17
这是《CSS设计指南》的读书笔记,用于加深学习效果。 display 属性 display 是 CSS 中最重要的用于控制布局的属性。每个元素都有一个默认的 display 值。对于大多数元素它们的默认值通常是 block 或 inline 。一个 block 元素通常被叫做块级元素。一个 inline 元素通常被叫做行内元素。 block div 是一个标准的块级元素。一个块级元素会新开始一行并且尽可能撑满容器。其他常用的块级元素包括 p 、 form 和HTML5中的新元素: header 、 footer 、 section 等等。 inline img 是一个标准的行内元素。你可以把两个 <img> 标签写在两行,但这并不影响图片再浏览器中的显示效果,它们会并列出现在一行上。而且标签直接的空白(标记中的两个<img>标签虽然分别位于两行,但这并不影响图片在浏览器中显示时的效果。图片是行内元素,所以它们显示的时候就会并列出现在一行上。而且,标签之间的空白(包括制表、回车和空格)都会被浏览器忽略。 a 元素是最常用的行内元素,它可以被用作链接。 none 另一个常用的 display 值是 none。一些特殊元素的默认 display 值是它,例如 script 。display:none 通常被 JavaScript 用来在不删除元素的情况下隐藏或显示元素。

[译]HTML&CSS Lesson5: 定位

旧时模样 提交于 2020-01-18 14:49:05
CSS最大的用处之一就是可以将内容和元素定位到任何我们想要的位置,使我们的设计具有结构,使内容更加易懂。 CSS有好几种不同的定位属性,每种都有自己的使用场景。在这节课中我们会通过不同的案例——可复用的布局和针对单元素的布局——来介绍每种方法。 浮动 定位的其中一种方法就是使用 float 属性。 float 属性非常好用,可以用在很多地方。 本质来说, float 属性是使元素脱离正常的流式布局,并将它放置在父元素的左侧或右侧。然后页面中所有的元素都会环绕浮动元素布局。例如我们将段落间的一张图片设置为浮动,那么这些段落都会围绕图片换行。 当我们将多个元素同时设置为浮动元素,那么这些元素将呈现相邻或相对布局,如多列布局。 float 有好几个值,最常用的值是 left 和 right 。使元素浮动到父级元素的左侧或右侧。 img { float: left; } 浮动练习 我们先创建一个通用页面,含有页头,页脚,中间有两列。最理想的情况就是在 <body> 元素内创建 第二节课"了解HTML" 中提到的 <header> , <section> , <aside> 和 <footer> 元素。 <header>...</header> <section>...</section> <aside>...</aside> <footer>...</footer> <section> 和

订单页面布局

微笑、不失礼 提交于 2020-01-15 13:07:04
html <view class="consignee"> <view class="consignee-title"> 收件信息 </view> <view class="consignee-address"> <image class="right-arrow" src="/images/order/sub/you.png" /> <image class="bottom-stripe" src="/images/order/sub/xiushi.png" /> <view class="line-one"> <view class="name"> 动感超人 </view> <view class="tel"> 185****9875 </view> </view> <view class="line-two"> 北京朝阳区四环到五环之间878东区12层 </view> </view> </view> <!-- <view class="consignee"> <view class="consignee-title"> 收件信息 </view> <view class="consignee-address"> <image class="right-arrow" src="/images/order/sub/you.png" /> <image class="bottom

移动端适配 - 原理篇

半城伤御伤魂 提交于 2020-01-12 08:22:40
移动端适配,是我们在开发中经常会遇到的,这里面可能会遇到非常多的问题: 1px问题 UI图完美适配方案 iPhoneX适配方案 横屏适配 高清屏图片模糊问题 ... 上面这些问题可能我们在开发中已经知道如何解决,但是问题产生的原理,以及解决方案的原理可能会模糊不清。在解决这些问题的过程中,我们往往会遇到非常多的概念:像素、分辨率、PPI、DPI、DP、DIP、DPR、视口等等。 本文将从移动端适配的基础概念出发,探究移动端适配各种问题的解决方案和实现原理。 一、英寸 一般用英寸描述屏幕的物理大小,如电脑显示器的17、22,手机显示器的4.8、5.7等使用的单位都是英寸。 英寸和厘米的换算:1英寸 = 2.54 厘米 二、物理像素 2.1 像素 像素即一个小方块,它具有特定的位置和颜色。 图片、电子屏幕(手机、电脑)就是由无数个具有特定颜色和特定位置的小方块拼接而成。 像素可以作为图片或电子屏幕的最小组成单位。 2.2 物理像素 到电商网站购买手机,都会看一看手机的参数,以apple的官网上对手机分辨率的描述为例: iPhone XS Max 和 iPhone SE的分辨率分别为2688 x 1242和1136 x 640。表示手机分别在垂直和水平上所具有的像素点数。 这里描述的就是屏幕实际的物理像素,即一个屏幕具体由多少个像素点组成。 屏幕从工厂出来那天起

面试学习笔记(1)——前端工程师

折月煮酒 提交于 2020-01-12 01:47:28
前端工程师面试学习笔记 网络部分内容 http和https的异同 WebSocket 几个关键的http状态码 Cookie、sessionStorage和localStorage web worker XSS攻击 click在ios上有延迟该如何解决 前端优化的方法 从输入URL到页面呈现,中间的过程(重点) 浏览器缓存机制 HTML&CSS CSS盒模型 浮动塌陷清除的方法 使元素消失的方法 几种常用的CSS布局 前端中的事件流 如何让事件先冒泡后捕获 事件委托 JavaScript JS的数据类型 闭包 性能优化的方法 JS中继承实现的方式 AJAX Ajax返回状态 Ajax过程 几个重要的设计模式 这篇博客主要记录一些前端常考题目以及必要知识。 网络部分内容 这一部分主要是计算机网络中的内容,考察一些网络编程和通信的内容,需要对一些关键知识进行区分。 http和https的异同 http和https都是超文本传输协议,两者的区别主要在于安全性的考虑。 http基于TCP协议,承担WWW服务器到本地浏览器的信息传输,在传输过程中采用明文传输,不对传输信息做任何加密处理,https简单来讲,就是将http与SSL相结合,设置了SSL协议对http传输的数据进行了加密处理,安全性更高。 端口也不同,http服务器默认是80端口,https默认是443端口。

android之对不同的页面管理

本小妞迷上赌 提交于 2020-01-11 08:25:18
一、界面状态有哪些 在Android中,不管是activity或者fragment,在加载视图的时候都有可能会出现多种不同的状态页面View。比较多的有下面几种: 1、内容界面,也就是正常有数据页面 2、加载数据中,加载loading 3、加载数据错误,请求数据异常 4、加载后没有数据,请求数据为空 5、没有网络,网络异常 场景: a、加载网络数据时,需要用户等待的场景,显示一个加载的Loading动画可以让用户知道App正在加载数据,而不是程序卡死,给用这样可以给户较好的使用体验。 b、当加载的数据为空时显示一个数据为空的视图、在数据加载失败时显示加载失败对应的UI并支持点击重试会比白屏的用户体验更好一些。 c、加载中、加载失败、空数据等不同状态页面风格,一般来说在App内的所有页面中需要保持一致,也就是需要做到全局统一。 二、采用include方式管理 直接把这些界面include到main界面中,然后动态去切换界面,具体一点的做法如下所示。 在布局中,会存放多个状态的布局。然后在页面中根据逻辑将对应的布局给显示或者隐藏,但存在诸多问题。 存在的问题分析 1、后来发现这样处理不容易复用到其他项目中,代码复用性很低 2、在activity中处理这些状态的显示和隐藏比较乱 3、调用setContentView方法时,是将所有的布局给加载绘制出来。其实没有必要 4

2019前端最全面试题

China☆狼群 提交于 2020-01-08 03:57:44
项目地址 HTML问题 HTML5语义化 什么是语义化?就是用合理、正确的标签来展示内容,比如h1~h6定义标题。 好处 易于用户阅读,样式丢失的时候能让页面呈现清晰的结构。 有利于SEO,搜索引擎根据标签来确定上下文和各个关键字的权重。 方便其他设备解析,如盲人阅读器根据语义渲染网页 有利于开发和维护,语义化更具可读性,代码更好维护,与CSS3关系更和谐。 http://www.daqianduan.com/6549.html 为什么最好把 CSS 的 <link> 标签放在 <head></head> 之间?为什么最好把 JS 的 <script> 标签恰好放在 </body> 之前,有例外情况吗? 把 <link> 放在 <head> 中 把 <link> 标签放在 <head></head> 之间是规范要求的内容。此外,这种做法可以让页面逐步呈现,提高了用户体验。将样式表放在文档底部附近,会使许多浏览器(包括 Internet Explorer)不能逐步呈现页面。一些浏览器会阻止渲染,以避免在页面样式发生变化时,重新绘制页面中的元素。这种做法可以防止呈现给用户空白的页面或没有样式的内容。 把 <script> 标签恰好放在 </body> 之前 脚本在下载和执行期间会阻止 HTML 解析。把 <script> 标签放在底部,保证 HTML 首先完成解析,将页面尽早呈现给用户