PC 端响应式布局
前言:PC端 电脑显示器的尺寸种类还是很多的,台式电脑和笔记本电脑尺寸相差就更明显,所以响应式布局还是很重要的,甚至是必须要考虑的。
响应式的页面好不好,在后管平台上很明显。因为后管平台,一般是全屏显示。不像官网那样两边有一个安全尺寸。
PC端的宽度相差太大,一般是常用响应式的布局(布局改变了,不仅仅尺寸变化);而不是像移动端那样,通过rem单位,只是改变了元素的尺寸。
一、栅格系统:(栅格系统是比较好的一种响应式布局,框架已经帮我们处理好了,只要配置下就可以自动实现响应式的布局)
1、栅格系内的元素,宽度是不定的。根据不同的尺寸,宽度会改变。使用栅格系统,必须要保证这个元素宽度改变,元素内的结构不变。如下图,
栅格系统设置的元素A,在屏幕变小时,A的宽度也会变小。A的宽度变小,可能会引起A内的结构发生变化(如换行、溢出),所以要确保元素A内的结构不变,或者A内元素的结构变化的临界尺寸要比栅格系统响应的尺寸更小。即,
浏览器在不断变小,元素A的尺寸会不断变小,还没到A内结构变化的尺寸。栅格布局就先发生变化了,此时栅格系统变成,上面两个A,下面两个A。
2、栅格系统的元素,如上面的A的宽度是严格根据栅格系统分的尺寸来的。12栏栅格系统,那么上面的每个元素A就是3栏。元素A之间的距离是通过padding值撑出来的,元素A的width区域,才是内部我们需要放元素显示的结构。
下面以 Ant Design 的 24 栅格系统进行说明。下面的Col标签宽度是Row标签的1/4宽度,并且4个Col标签是紧靠着的。如果给他们设置间距,其实是他们的width之间出现了间距。效果上就是我们需要的间距。
<Row>
<Col span={6}>col-6</Col>
<Col span={6}>col-6</Col>
<Col span={6}>col-6</Col>
<Col span={6}>col-6</Col>
</Row>
感悟:在有栅格系统的框架,使用栅格布局开发,还是很快的。没有栅格系统的话,自己写一个栅格系统,也不麻烦。或者用下面的方法实现响应式布局。
二、flexd:弹性布局天生就是响应式的,子元素的宽度排不下就会自动换行的。 https://www.jianshu.com/p/a902816692a9 或 http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html
1、弹性布局中,子元素拥有的空间,和 子元素 本身的空间 是两个概念。就像 书 在盒子中,书可以盒子内的空间任意移动。
父元素设置了弹性属性,根据设置的情况给每个子元素设置活动的空间(这个空间是透明的,无法看到)。子元素可以在这个空间中,自由移动(比如,排在顶部,或者底部)。
2、这里比较难的,父元素分配给每个子元素的活动空间是 怎么 分配的。根据父元素的属性,和子元素自身的大小来定空间。
a、flex-direction:决定主轴的方向
b、flex-wrap:如果一条轴线排不下,如何换行。
c、flex-flow:上面两个属性的简写。(可以完全不用管,就当没有这个属性)
d、justify-content:项目在主轴上的对齐方式。
e、align-items:项目在交叉轴上如何对齐。
f、align-content:多根 交叉轴线的对齐方式(即 行与行之间对齐方式)。如果项目只有一根轴线,该属性不起作用。
重点:上面的几个属性,设置的子元素的活动空间都是可以直观看到的。那看不到的活动空间是怎么分配的呢。这个看不到的空间,主要还是交叉轴上的空间。父元素一旦设置了,主轴上的空间已经定好了。就是项目在主轴上长度。
但是,交叉轴的空间,可以在子元素设置属性。
3、CSS3弹性布局实现的6只骰子(不同的角度,不同的实现方法):https://wow.techbrood.com/fiddle/8177 (6点骰子,分成两组,手动给它换行了) 或 https://www.jianshu.com/p/d4d5830061bd (6点骰子,每3点就会占满一行,自动换行。)
三、float
使用 <div> 元素的网页布局
使用 <table> 元素的网页布局(虽然我们可以使用HTML table标签来设计出漂亮的布局,但是table标签是不建议作为布局工具使用的 - 表格不是布局工具)
CSS 页面布局总结
一、瀑布流:
1、纯CSS实现瀑布流布局 : https://www.w3cplus.com/css/pure-css-create-masonry-layout.html
2、相等大小,顺序排列的瀑布流:
PC 端响应式布局的更多相关文章
- 探讨兼容IE低版本的PC端响应式布局
http://www.jiangweishan.com/article/lowIeResposive.html 响应式布局,oh my god!!有点醉了,感觉是老生常谈的话题了.虽然已经谈过很多了, ...
- 移动端响应式布局--你不知道的CSS3.0媒体查询,解决rem部分情况下无法适配的场景
媒体查询作为响应式布局的方法之一,实际项目中用途也很广.但是你真的知道怎么用吗? 例如,下面匹配 iphone6/7/8 屏幕 @media screen and (max-width: 375px) ...
- 【CSS-移动端响应式布局详解】
背景 移动端响应式布局开发主要方案有: 基于rem开发 基于媒体查询 基于弹性盒 基础概念 在讨论响应式布局知识前,先了解下移动端常用基础概念. 逻辑像素(CSS pixels) 浏览器使用的抽象单位 ...
- 响应式布局rem、rem方法封装、移动端响应式布局
相信大家在做移动端的时候都会做各个手机的适配这种适配就是响应式布局在之前做网站的响应式从pc到手机用的是媒体查询 @media screen and (max-width: 300px){} 最大宽度 ...
- 移动端响应式布局+rem+calc()
1.媒体查询:@media only screen and (max-width: ) {},在最初做pc端时,使用各种媒体查询,因为pc的屏幕分辨率总共就几种,不嫌麻烦的重复使用类名.有很大的缺陷就 ...
- 移动端响应式布局,rem动态更新
(function(){ var fontSizeMatchDeviceWidth = function(){ var deviceWidth = document.documentElement.c ...
- pc端响应式-媒体查询
媒体查询(@media):能在不同的条件下使用不同的样式,使页面在不同在终端设备下达到不同的渲染效果 列举常用的pc屏幕宽度: 1024 1280 1366 1440 1680 1920 ...
- 移动端“响应式布局”’--rem
使用目的:为了让移动设计稿在大部分的移动设备上看起来有一致的展示效果,我们使用rem的像素单位. 方法一: 1.在页面引入js,获取屏幕大小,更新rem基准. (function () { var c ...
- HTML5学习总结-番外05 响应式布局
1. 响应式布局 响应式布局是2015年5月份提出的一个概念,简而言之,就是一个网站能够兼容多个终端,而不是为每个终端做一个特定的版本.这个概念是为解决移动互联网浏览而诞生的.其目的是为用户提欧共更加 ...
随机推荐
- 【Flutter学习】之绘画实例(二)
一,画路径 - drawPath(Path path, Paint paint) Path 主要有方法如下: 直接描述路径的方法还可以细分为两组:添加子图形和画线(直线或曲线) addXXX() - ...
- delphi中SendMessage使用说明
SendMessage基础知识 函数功能:该函数将指定的消息发送到一个或多个窗口.此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回.而函数PostMessage不同,将一个消息寄送到一个线 ...
- Windows Xp Sp3官方简体中文版(原版) 纯净安装版 百度网盘下载
百度网盘下载: 1.链接:https://pan.baidu.com/s/1o-HcKddSG6IAz_0COKhq8Q 提取码:hkhr 2.扫码下载:
- AcWing 220.最大公约数 欧拉函数打卡
题目:https://www.acwing.com/problem/content/222/ 题意:求1-n范围内,gcd(x,y)是素数的对数 思路:首先我们可以针对每个素数p,那么他的贡献应该时 ...
- express框架总结
1.express教程及api : http://www.runoob.com/nodejs/nodejs-express-framework.html 2.nodejs的express自动生成项目框 ...
- springboot controller传参,对象映射
Post请求,对象映射时,在参数 加 @RequestBody: 传入对象内字段的json才能映射 {"legendData": [100,90,80,70,60,50,40,30 ...
- cannot find module node-sass
解决方法: npm install --save-dev node-sass
- 图片模式CMYK和RGB在浏览器下的变化
手机浏览器里面不能显示出模式为CMYK的图片, 模式为CMYK的图片在IE浏览器里面显示和模式为RGB的一样 模式为CMYK的图片在火狐里面显示有色差
- centos为用户添加sudo功能
su chmod a+w /etc/sudoers vim /etc/sudoers [找到root ALL=(ALL) ALL这行] 复制出新的一行,并且将root改为daniel(当前用户名) c ...
- python学习笔记:python操作redis
Redis 是一个高性能的key-value数据库.它支持存储的value类型包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈 ...