一、原型式继承
more >>针对谷歌浏览器的XX云盘
1.资源准备
安装Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装aria2
brew install aria2
下载Aria2配置文件 密码:h1ep
解压文件内容:
2.配置Aria2
打开目标文件夹(command + shift + g)后粘贴一下内容:
/usr/local/Cellar/aria2/1.33.1/bin
或
/usr/local/Cellar/aria2 进入文件夹选择自己的版本之下的bin文件夹
移动:
A.bin文件夹下的aria2c -->aria2c.bak;
B.将之前解压的文件夹Aria2中的
aria2.conf
aria2.log
aria2.session
com.aria2c.plist
com.google.Chrome.mobileconfig
5个文件拷贝到路径:/usr/local/Cellar/aria2的文件夹下
C.将之前解压的文件夹Aria2中的 Aria2GUI.app 移到 /Applications 目录下
拷贝:
将之前解压的文件夹Aria2中的aria2c文件拷贝到bin文件夹中;
编辑:(/usr/local/Cellar/aria2文件夹中)
aria2.conf 中替换所有hsuyelin(他人电脑名)-->xxx(自己电脑名) 保存关闭
com.aria2c.plist 中替换所有hsuyelin(他人电脑名)-->xxx(自己电脑名) 保存关闭
验证:
aria2c 未报错 正常
未验证:报错情况
报错6800:修改aria2.conf 文件内容rpc-listen-port=6800(RPC端口, 仅当默认端口被占用时修改)
谷歌浏览器输入:
chrome://extensions/
将下载的插件拖入浏览器上述页面中,打开开发者模式,在插件详情中复制id
核对安装:
打开(/usr/local/Cellar/aria2文件夹中)com.google.Chrome.mobileconfig 文件,核对白名单是否一致,反之则粘贴之前内容
<key>ExtensionInstallWhitelist</key>
<array>
<string>xxxxxxxxxxxxx</string>
</array>
双击 com.google.Chrome.mobileconfig 文件 直到完成
3.设置开机自启动
将下载的解压文件夹中的com.aria2c.plist文件 拷贝至 文件夹(command + shift + g : /Library/LaunchAgents) 中,以管理员身份确认即可。
参考资料:
1.Mac配置Aria2,高速下载百度云
2.推荐 - Aria2 WebUI
3.Mac下Aria2安装及其配置并设置开机启动
4.Mac配置Aria2
一、UIScrollView的基本知识
1.属性
1 | _scrollView.bounces = NO;//不需要弹回 |
2.代理方法
1 | //手指离开屏幕后ScrollView还会继续滚动一段时间只到停止 |
二、导航栏渐变方法
方法一:向上滑动或者向下滑动时,分别修改navigationBar的alpha值
1 | - (void)scrollViewDidScroll:(UIScrollView *)scrollView { |
方法二:在navigationBar上加入一个view,修改view的alpha值
1 | //View 的 userInteractionEnabled 属性要设置为 NO,不然会出现问题 |
方法三:自定义UINavigationControler类实现
三、导航栏头像自由缩放
1 | @interface GDUserSettingController ()<UIScrollViewDelegate> |
参考资料:
一、概念
1.网格由水平和垂直线集合创建的一个模式,根据这个模式排列设计元素。帮助我们创建设计——在页面之间移动时元素不会跳动或更改宽度,从而在我们的网站上提供高一致性。
2.网格通常具有列(column),行(row),以及在每行和列之间的间隙——通常称为沟槽(gutter).
二、创建简单的网格框架
1.概述:
大多数网格类型布局使用浮动创建的 - 创建多列布局等。
要创建的最简单的网格框架类型是固定宽度的:
我们只需要计算出想要设计的总宽度,想要多少列,以及沟槽和列的宽度。
如果我们决定在具有列根据浏览器宽度增长和缩小的网格上布置设计,我们需要计算出列和沟槽之间的百分比宽度。
2.一个简单的定宽网格
创建一个使用固定宽度的网格系统
1 | <div class="wrapper"> |
1 | * { |
列之间的沟槽为20像素宽,每列的左侧创建一个20px的外边距(margin)作为沟槽——包括第一列,以平衡容器右侧的填充的20像素; 沟槽宽度:12 20 ,总宽度960,剩余每列宽度=(960-1220)/12 = 60;
1 | .row{ |
想要跨越多个列的布局容器需要被赋予特殊的类,来将它们的width 值调整到所需的列数(加上之间的沟槽)。我们需要创建一个额外的类,以允许容器跨越2到12列。每个宽度是将该列数的列宽加上沟槽宽度得到的结果,总是比列数少1:
1 | /* Two column widths (120px) plus one gutter width (20px) */ |
3.创建流体网格
流体网格会随着浏览器视口的可用空间而相应变化,为了实现可以使用参考像素宽度并将其转化为百分比。
将固定宽度变为基于百分比的灵活(flexible)宽度的公式:
target / context = result
eg:对于列宽,上下文是一个960px的容器,目标宽度是60px;
60/960 = 0.0625 = 6.25%可以替换像素列宽度为60px的值。
更新网格
1 | body { |
使用calc()函数更容易的计算,上述css等价于:
1 | .col.span2 { width: calc((6.25%*2) + 2.08333333%); } |
4.语义和‘非语义’网格系统
1 | <div class="col span6">14</div> |
1 | .col.span6 { width: 460px; } |
等价于:
1 | <div class="contecnt">14</div> |
1 | .content{ |
5.在网格中启用偏移容器
eg:将容器元素偏移一列宽度
1 | 将 |
1 | .offset-by-one { |
浮动网格限制
当使用浮动网格时,需要注意:
总宽度要加起来正确,并且不能在一行中包含跨(越)度为多列的超过该行所能包含的元素。由于浮动工作方式,如果网格列的数量相对于网格变得太宽,则末端上的元素将下降到下一行,从而打破网格。
元素的内容比它们占据的行更宽,它会溢出,会看起来像一团糟。
这个系统的最大限制是它基本上是一维的。我们处理的是列元素只能跨越多个列,而不能跨越行。这些旧的布局方法非常难以控制元素的高度,而没有明确设置高度,这是一个非常不灵活的方法 - 它只有当你能保证你的内容将是一定的高度才有效。
三、Flexbox网格?
1 | body { |
1.Flexbox是一维设计。它处理单个维度,即行或列。不能为列和行创建严格的网格,这意味着如果我们要为网格使用flexbox,我们仍然需要为浮动布局计算百分比.
四、第三方网格系统
流行框架:Bootstrap和Foundation
五、本地CSS网格和网格布局
1.构建本地网络
1 | <div class="wrapper"> |
1 | .wrapper { |
1 | 跨6列 |
CSS网格是二维的,因此随着布局的增长和缩小,元素保持水平和垂直排列。
1 | 将 |
2.CSS网格特性
1 | 将: |
1 | 将 |
不需要使用边距伪造沟槽或显式计算它们的宽度 — CSS网格具有这种功能内置的grid-gap属性;
六、例子
1 | <form> |
1 | html { |
1 | html { |
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true