FLEX

CSS实现自适应九宫格布局 大全

落花浮王杯 提交于 2020-10-31 00:18:37
看到微博和朋友圈都实现了图片九宫格,曾经有次面试也问到了九宫格这个问题,当时想到的是先固定每个单元格的宽高,然后进行浮动。今天想折腾一下,实现自适应父元素宽度的布局。这次我只写了四种方式去实现九宫格,算上 inline-block 的话就是五种了。 首先要注意的是九宫格容器是宽高相等的正方形,并且是自适应的,这里关键是实现宽高相等,有些人想到了相对视口宽度 vw,但是它是相对于屏幕可见宽度来设置的,并且会忽略滚动条的宽度,所以这是不可行的。这里我用一种变通方法,看代码… FlexBox HTML 结构如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 < div class= "square"> < ul class= "square-inner flex"> < li>1 </ li> < li>2 </ li> < li>3 </ li> < li>4 </ li> < li>5 </ li> < li>6 </ li> < li>7 </ li> < li>8 </ li> < li>9 </ li> </ ul> </ div> 抽取公共样式: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 .square{ position: relative; width: 100%; height: 0;

Html和CSS布局技巧-九宫格布局(三)

痞子三分冷 提交于 2020-10-31 00:06:37
三、九宫格布局 <!-- 利用table实现 --> < style media ="screen" > .parent { display : table ; table-layout : fixed ; width : 100% ; } .row { display : table-row ; } .item { display : table-cell ; width : 33.3% ; height : 200px ; } </ style > < body > < div class ="parent" > < div class ="row" > < div class ="item" > 1 </ div > < div class ="item" > 2 </ div > < div class ="item" > 3 </ div > </ div > < div class ="row" > < div class ="item" > 4 </ div > < div class ="item" > 5 </ div > < div class ="item" > 6 </ div > </ div > < div class ="row" > < div class ="item" > 7 </ div > < div class ="item" > 8 </

css 九宫格布局

与世无争的帅哥 提交于 2020-10-30 21:45:46
之前做了几个数字相关的小游戏, 用到了类似的布局, 对于css这种东西, 还是用到再查吧 https://juejin.im/post/6886770985060532231#heading-7 不过这篇文章中也有几个不错的点 1, 使用 nth-child 来设置取消边距, 比手写class和写死在css里面好很多 2, 居中使用grid布局, 比flex少写一行代码 3, 颜色讲到了 currentColor 这个确实没怎么了解 不过对于事件的绑定, 这个只能说有时候还是要看情况, 不过确实在父级上绑定一个后, 直接用id来区分点击的是哪一个能减少一些开销, 在这种简单场景下使用完全没问题, 但也不至于就怎么滴了..... 仿照着实现了一下, 基本样例就这样了 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> .wrap { display: flex; width: 300px; flex-wrap: wrap; } .cell { font-size: 40px; display:

前端布局总结--居中

痞子三分冷 提交于 2020-10-30 20:01:52
居中 水平居中 text-align和inline-block .parent{ text-align:center; } .child{ display:inline-block; } 确定width的值,设置margin:0 auto width:100px; margin:0 auto; 垂直居中 设置相同的height和line-height(针对行内元素的文字) height:100px; line-height:100px; 水平垂直居中 绝对定位 1.已知宽高 position:absolute; width:100px; height:100px; margin-left:-50px; margin-top:-50px; 2.未知宽高 position:absolute; transform:translate(-50%,-50%); flex display:flex; justify-content:center; align-items:center; 来源: oschina 链接: https://my.oschina.net/u/3986435/blog/3058790

基于游戏开发的C语言程序设计入门与实践-第2次开课

心已入冬 提交于 2020-10-29 14:13:38
https://zhuanlan.zhihu.com/p/105625324 基于游戏开发的C语言程序设计 https://www.zhihu.com/video/1209185694633390080 停课不停学,《基于游戏开发的C语言程序设计入门与实践》在中国大学MOOC上第2次开课(2020年2月15日开始),感兴趣的同学可以参加学习: 基于游戏开发的C语言程序设计入门与实践_河海大学_中国大学MOOC(慕课) ​ www.icourse163.org 来源: oschina 链接: https://my.oschina.net/u/4298883/blog/3205604

css3新特性

谁说我不能喝 提交于 2020-10-29 07:10:03
2-1语法 transition: CSS属性,花费时间,效果曲线(默认ease),延迟时间(默认0) 栗子1 /*宽度从原始值到制定值的一个过渡,运动曲线ease,运动时间0.5秒,0.2秒后执行过渡*/ transition: width, .5s, ease, .2s 栗子2 /*所有属性从原始值到制定值的一个过渡,运动曲线ease,运动时间0.5秒*/ transition: all, .5s 上面栗子是简写模式,也可以分开写各个属性(这个在下面就不再重复了) transition-property: width; transition-duration: 1s; transition-timing-function: linear; transition-delay: 2s; 2-2实例-hover效果 上面两个按钮,第一个使用了过渡,第二个没有使用过渡,大家可以看到当中的区别,用了过渡之后是不是没有那么生硬,有一个变化的过程,显得比较生动。 当然这只是一个最简单的过渡栗子,两个按钮的样式代码,唯一的区别就是,第一个按钮加了过渡代码 transition: all .5s; 2-3实例-下拉菜单 上面两个菜单,第一个没有使用过渡,第二个使用过渡,大家明显看到区别,使用了过渡看起来也是比较舒服!代码区别就是有过渡的ul的上级元素(祖先元素)有一个类名(ul

收集一些常用的前端知识

我们两清 提交于 2020-10-29 05:28:24
闭包的理解 使用闭包主要是为了设计私有的方法和变量。优点是可以避免全局变量的污染,缺点是闭包会常驻内存,会增大内存使用量,使用不当很容易造成内存泄露 Cookie 第一:每个特定的域名下最多生成20个cookie 1.IE6或更低版本最多20个cookie2.IE7和之后的版本最后可以有50个cookie。3.Firefox最多50个cookie4.chrome和Safari没有做硬性限制 第二:cookie的最大大约为4096字节,为了兼容性,一般不能超过4095字节 优点:极高的扩展性和可用性 1.通过良好的编程,控制保存在cookie中的session对象的大小。2.通过加密和安全传输技术(SSL),减少cookie被破解的可能性。3.只在cookie中存放不敏感数据,即使被盗也不会有重大损失。4.控制cookie的生命期,使之不会永远有效。偷盗者很可能拿到一个过期的cookie。 缺点: 1.`Cookie`数量和长度的限制。每个domain最多只能有20条cookie,每个cookie长度不能超过4KB,否则会被截掉。2.安全性问题。如果cookie被人拦截了,那人就可以取得所有的session信息。即使加密也与事无补,因为拦截者并不需要知道cookie的意义,他只要原样转发cookie就可以达到目的了。3.有些状态不可能保存在客户端。例如,为了防止重复提交表单

Flutter的基础UI的搭建

旧城冷巷雨未停 提交于 2020-10-29 01:02:55
App端主要的就是UI的搭建,和数据的请求,然后将服务端的数据以精美的UI展示出来,通过这种方法将信息传递给普通用户。普通用户在App上进行操作,将用户行为和数据上传到服务端。所以当我们刚开始接触Flutter这一跨平台开发的时候首先可以先了解一下我们的Flutter UI的搭建。 为什么要学习Flutter? Flutter是Google的开源UI框架,Flutter生成的程序可以直接在Google最新的系统 Fuschia 上运行, 也可以build成 apk 在 android 上运行,或是生成 ipa 在 iOS 运行。 一般传统的跨平台解决方案如RN,Weex等都是将程序员编写的代码自动转换成Native代码,最终渲染工作交还给系统,使用类HTML+JS的UI构建逻辑,但是最终会生成对应的自定义原生控件。 Flutter重写了一套跨平台的UI框架。渲染引擎依靠跨平台的Skia图形库来自己绘制。逻辑处理使用支持AOT的Dart语言,执行效率也比JS高很多。 一. FlutterUI整体架构 跨平台应用的框架,没有使用WebView或者系统平台自带的控件,使用自身的高性能渲染引擎(Skia)自绘,界面开发语言使用dart,底层渲染引擎使用C, C++。 我们可以看到最上层的 Material 和 Cupertino 组件,这两个什么玩意呢。 其实很简单 Cupertino

4.8 移动端常见的布局

笑着哭i 提交于 2020-10-29 00:29:46
一、移动端技术选型 1.单独制作移动端页面(主流) 流式布局(百分百布局)比如:京东 flex弹性布局(强烈推荐)比如:携程网 less+rem+媒体查询布局 比如:苏宁 混合布局 比如:某小公司 2.响应式页面兼容移动端(其次) 媒体查询 bootstarp 来源: oschina 链接: https://my.oschina.net/u/4701816/blog/4693158

一线大厂在用的反爬虫方法,看我如何破了它!

眉间皱痕 提交于 2020-10-28 17:41:34
作者|韦世东 来源|NightTeam 本篇内容摘自出版图书《 Python3 反爬虫原理与绕过实战 》 第 6 章中的第 3 小节 SVG 反爬虫, 本周将给阅读与分享榜单读者赠送此书 。 SVG 映射反爬虫 SVG 是用于描述二维矢量图形的一种图形格式。它基于 XML 描述图形,对图形进行放大或缩小操作都不会影响图形质量。矢量图形的这个特点使得它被广泛应用在 Web 网站中。 接下来我们要了解的反爬虫手段正是利用 SVG 实现的,这种反爬虫手段用矢量图形代替具体的文字,不会影响用户正常阅读,但爬虫程序却无法像读取文字那样获得 SVG 图形中的内容。由于 SVG 中的图形代表的也是一个个文字,所以在使用时必须在后端或前端将真实的文字与对应的 SVG 图形进行映射和替换,这种反爬虫手段被称为 SVG 映射反爬虫。 6.3.1 SVG 映射反爬虫绕过实战 示例 6:SVG 映射反爬虫示例。 网址:http://www.porters.vip/confusion/food.html。 任务:爬取美食商家评价网站页面中的商家联系电话、店铺地址和评分数据,页面内容如图 6-15 所示。 图 6-15 示例 6 页面 在编写 Python 代码之前,我们需要确定目标数据的元素定位。在定位过程中,发现一个与以往不同的现象:有些数字在 HTML 代码中并不存在。例如口味的评分数据,其元素定位如图