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月份提出的一个概念,简而言之,就是一个网站能够兼容多个终端,而不是为每个终端做一个特定的版本.这个概念是为解决移动互联网浏览而诞生的.其目的是为用户提欧共更加 ...
随机推荐
- Python--线程队列(queue)、multiprocessing模块(进程对列Queue、管道(pipe)、进程池)、协程
队列(queue) 队列只在多线程里有意义,是一种线程安全的数据结构. get与put方法 ''' 创建一个“队列”对象 import queue q = queue.Queue(maxsize = ...
- PHP面向对象:instanceof 运算符
http://www.nowamagic.net/php/php_InstanceofOperator.php 在PHP5中,通过方法传递变量的类型有不确定性.于是我们很难判断,一些操作是否可以运行. ...
- PHP FILTER_CALLBACK 过滤器
定义和用法 FILTER_CALLBACK 过滤器调用用户自定义函数来过滤数据. 该过滤器为我们提供了对数据过滤的完全控制. 指定的函数必须存入名为 "options" 的关联数组 ...
- spfa(模板)
#include<iostream> #include<cstdio> #include<cstring> using namespace std; int cnt ...
- AcWing 229. 新NIM游戏 (线性基+博弈论)打卡
题目:https://www.acwing.com/problem/content/description/231/ 题意:给出n堆石子,然后第一回合,A玩家可以随便拿多少堆石子,第二回合B玩家随便拿 ...
- 团队冲刺DAY6
团队冲刺DAY6 今天的内容是无图形界面的客户端和服务器的加密解密系统. 通信时用的socket方法,内置的密钥,端口,ip地址. 客户端: import java.io.*; import java ...
- 2019 ACM-ICPC 南京 现场赛 H. Prince and Princess
题意 王子想要娶公主,但是需要完成一个挑战:在一些房间中找出公主在哪. 每个房间有一个人,他们彼此知道谁在哪个房间.可以问他们三种问题: 你是谁? 在某个房间是谁? 公主在哪个房间? 有三类人,一类一 ...
- Python List reverse() 与list[::-1]
reverse() https://www.runoob.com/python/att-list-reverse.html list[::-1] https://blog.csdn.net/usern ...
- Django框架(二十四)—— Django rest_framework-视图组件
目录 视图组件 一.基本视图 二.自定义的封装视图 三.利用mixin类和generice类编写视图 1.使用 2.源码 四.利用generics 下的ListCreateAPIView,Retrie ...
- linux中errno及perror的应用
1 perror 定义在头文件<stdlib.h>中 void perror(const char *s);函数说明 perror ( )用 来 将 上 一 个 函 数 发 生 错 误 的 ...