移动开发基础-学习笔记二-字体图标、less、bootstrap入门
1.字体图标
1.字体图标都是用svg图片
1.svg图片不失真
2.svg图标由设计师提供
3.为了减少网络请求,会把svg图标转换成字体图标,放到字体文件中,通过字体库的方式使用
2.制作步骤
1.上传字体图标到在线制作网站:阿里图标库或iconmoon
2.下载代码
3.注意点:在上传之前要把图标的名字改好,不然类名会带有后缀
3.原理
1.css3语法引入字体:@font-face
@font-face {
font-family: "自定义字体名";
src : url() format(),
url() format()
}
1.自定义字体名:后面需要使用该字体名
2.引入多个url:兼容各种浏览器
3.format:声明资源格式,方便浏览器识别
2.将字体用类包装在类名中 ,方便赋予样式
1..icon { font-family: "自定义字体名" }
2.高级方法: [class^="icon-"],[class*=" icon-"]{ font-family: "自定义字体名" }
3.将图标编码包装在类名中,方便赋予样式
.icon-名字 { content: "unicode转码" }
2.html转码在下载的文件中就有
2.预处理器
1.作用:让css变得更加简洁和强大
2.原理:预先写好一些高级的css,通过特定编译方式再转成css让浏览器识别
3.常见的预处理器
1.less:目前最流行
1.引入less
1.引入less文件:<link type="stylesheet/less" src>
2.引入less编译文件:less.js
用于编译less文件,应该就是获取上面的less文件,然后通过正则表达式将less文件转换成css代码,放在head里面,作为内嵌式。所以需要放在less文件后面
2.sass
3.stylus
4.相似,只要学会一种,其他的就都会了
3.less
1.特点
1.完全兼容css,并且扩展了css
2.语法简洁,与css类似,容易上手
3.使用less.js编译
2.语法
1.变量
2.mixins混入(自定义函数)
3.嵌套(跟标签一样嵌套,外面容器不需要重复写)
4.操作(运算符+-*/)
5.转码(把一些css代码当成字符串转码到里面)
6.函数(系统函数)
3.具体使用
1.编译
1.使用node.js编译(暂时不学)
2.引入文件进行编译
1.引入cdn托管的静态资源
2.引入自己的less.js
3.需要使用服务器打开
3.vscode有编译插件
4.开发中,使用less.js;上线用编译完之后css文件
用less.js会在html页面上报错
2.变量
1.定义变量
1.@变量名:变量值
2.命名规范和js差不多,只用一个差别:中间可以有横杠
2.使用变量:@变量名
3.嵌套
1.嵌套的选择器是css中的选择器,一般情况下,嵌套中的一级括号相当于css中的空格
2.嵌套中的&表示上一层的选择器,与js中this作用相同。一般用在伪类,伪元素,交集选择器中
4.运算符
5.引入其他less文件:@import 路径
在哪里写这句代码,目标文件的内容就引入到那里。
一般在最前面引入
6.使用细节
1.在一个选择器a中写另一个选择器b,可以将选择器b中的代码带入这个位置
2.通常把变量和自定义函数分别封装在特定的文件中
1.变量:variables.less
2.函数:mixins.less
3.
7.less.js工作原理
1.通过rel请求less文件
需要服务器
2.通过js中的正则表达式将less转换成css文件
3.将css代码动态添加到style标签中
8.编译
1.开发环境中使用less.js,因为这样在less中有错误时,html页面胡报错
2.在生产环境中使用已编译好的css文件
4.选择器
1.下一个兄弟选择器:+。选中下一个符合条件的兄弟元素
.box1 + .box2 选中.box1下一个且类名为.box2元素
2.后面兄弟选择器:~。选中后面所有符合条件的兄弟元素
.box1 ~ .box2:选中.box1后面所有类名为.box2的兄弟元素
3.一般用于排除第一个兄弟元素
1.补充知识
1.以后开发中大部分都是用border-box
2.栅格系统中的所有元素都加了相对定位
3.不推荐给父元素加高度,用子元素撑开
4.bootstrap里面如果在动画时样式消失,则可能是类名被覆盖,或标签、样式名被动画修改
5.轮播图的图片
1.大中小屏幕使用大图片,且宽高不应该随屏幕宽度的变化而变化,因为这样会让图片难以看清。这时候的图片应该作为背景,背景居中,然后轮播图高给定,宽度自适应。
2.宽度自适应,超小屏幕使用小图片,并且宽高自使用就行了,因为小屏幕的宽高变化不大
6.对一整个句子如果会换行,则应该使用padding让文字居中。如果一整个句子不会换行,就使用行高居中
XMind: ZEN - Trial Version
移动开发基础-学习笔记二-字体图标、less、bootstrap入门的更多相关文章
- ASP.Net MVC开发基础学习笔记:一、走向MVC模式
一.ASP.Net的两种开发模式 1.1 ASP.Net WebForm的开发模式 (1)处理流程 在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/bl ...
- ASP.Net MVC开发基础学习笔记(1):走向MVC模式
一.ASP.Net的两种开发模式 1.1 ASP.Net WebForm的开发模式 (1)处理流程 在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/bl ...
- ASP.Net MVC开发基础学习笔记:二、HtmlHelper与扩展方法
一.一个功能强大的页面开发辅助类—HtmlHelper初步了解 1.1 有失必有得 在ASP.Net MVC中微软并没有提供类似服务器端控件那种开发方式,毕竟微软的MVC就是传统的请求处理响应的回归. ...
- Java基础学习笔记二十八 管家婆综合项目
本项目为JAVA基础综合项目,主要包括: 熟练View层.Service层.Dao层之间的方法相互调用操作.熟练dbutils操作数据库表完成增删改查. 项目功能分析 查询账务 多条件组合查询账务 添 ...
- Java基础学习笔记二十六 JDBC
什么是JDBC JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库.原来我们操作数据库是在控制台使用SQL语句来操作数据库,J ...
- ASP.Net MVC开发基础学习笔记:三、Razor视图引擎、控制器与路由机制学习
一.天降神器“剃须刀” — Razor视图引擎 1.1 千呼万唤始出来的MVC3.0 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留 ...
- ASP.Net MVC开发基础学习笔记:四、校验、AJAX与过滤器
一.校验 — 表单不是你想提想提就能提 1.1 DataAnnotations(数据注解) 位于 System.ComponentModel.DataAnnotations 命名空间中的特性指定对数据 ...
- ASP.Net MVC开发基础学习笔记:五、区域、模板页与WebAPI初步
一.区域—麻雀虽小,五脏俱全的迷你MVC项目 1.1 Area的兴起 为了方便大规模网站中的管理大量文件,在ASP.NET MVC 2.0版本中引入了一个新概念—区域(Area). 在项目上右击创建新 ...
- ASP.Net MVC开发基础学习笔记(5):区域、模板页与WebAPI初步
一.区域—麻雀虽小,五脏俱全的迷你MVC项目 1.1 Area的兴起 为了方便大规模网站中的管理大量文件,在ASP.NET MVC 2.0版本中引入了一个新概念—区域(Area). 在项目上右击创建新 ...
随机推荐
- es6学习笔记-class之继承
继承 上一篇学习了class的概念,在es5时,对象的继承有好几种,原型链继承,借用构造函数继承,组合继承,原型式继承,寄生式继承以及寄生组合式继承,都是按照函数的形式去集成的,现在class也有它的 ...
- 更好用的css命名方式——BEM命名
一.什么是BEM? BEM代表块(Block),元素(Element),修饰符(Modifier).无论是什么网站页面,都可以拆解成这三部分. 二.带你认识网页 我们来看一下qq的官网,它可以由三个块 ...
- 你必须知道的 SmartSql !
介绍 SmartSql = MyBatis + Cache(Memory | Redis) + R/W Splitting +Dynamic Repository + Diagnostics .... ...
- HTML/CSS初步了解
一.CSS是什么? 它是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言.CSS为HTML标记语言提供了一种样式描述,定义了其中元素的显示 ...
- django中出现 错误 Errno 10053
django中出现 错误 Errno 10053 pycharm里出现下面错误File "C:\Python27\lib\socket.py", line 307, in flus ...
- July 02nd. 2018, Week 27th. Monday
Bad times make a good man. 艰难困苦出能人. Bad times make a good man, and hard times create strong men, but ...
- js复制粘贴模板
<script> //绑定在了body上,也可以绑定在其他可用元素行,但是不是所有元素都支持copy和past事件. /* $(document.body).bind({ copy: fu ...
- NodePort,LoadBalancer还是Ingress?我该如何选择 - kubernetes
原文:http://mp.weixin.qq.com/s/dHaiX3H421jBhnzgCCsktg 当我们使用k8s集群部署好应用的Service时,默认的Service类型是ClusterIP, ...
- 跟我一起学opencv 第二课之图像的掩膜操作
1.掩膜(mask)概念 用选定的图像,图形或物体,对处理的图像(全部或局部)进行遮挡,来控制图像处理的区域或处理过程.用于覆盖的特定图像或物体称为掩模或模板.光学图像处理中,掩模可以足胶片,滤光片等 ...
- 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之五 || Swagger的使用 3.3 JWT权限验证【必看】
前言 关于JWT一共三篇 姊妹篇,内容分别从简单到复杂,一定要多看多想: 一.Swagger的使用 3.3 JWT权限验证[修改] 二.解决JWT权限验证过期问题 三.JWT完美实现权限与接口的动态分 ...