HTML和CSS
定位position
该属性用于指定一个元素在文档中的定位方式。
top、right、bottom、left属性决定了该元素最终位置
position取值:
static(默认值),relative(相对定位),absolute(绝对定位)
fixed(固定定位),sticky(粘性定位) (更多…)
HTML标签
link标签扩展
css样式
<link href=”css.css” rel=”stylesheet” type=”text/css”>
icon图标
<link type=”/image/x-icon” rel=”icon” href=”favicon.icon”>
dns解析
<link rel=”dns-prefetch” href=”url”> (更多…)
css架构
在一个大型项目中,由于页面过多,导致CSS代码难以维护和开发。所以CSS架构可以帮助我们解决文件管理与文件划分等问题。
首先要对CSS进行模块化处理,一个模块负责一类操作行为。可利用Sass或Less来实现。
文件夹
base 一些初始的通用CSS,如重置默认样式,动画,工具,打印等。
components用于构建页面的所有组件,如按钮,表单,表格,弹窗等。
layout 用于布局页面的不同部分,如页眉,页脚,弹性布局,网格布局等。
pages 放置页面之间不同的样式,如首页特殊样式,列表页特殊样式等。
themes应用不同的主题样式时,如管理员,买家,卖家等。
abstracts放置一些如:变量,函数,响应式等辅助开发的部分。
vendors放置一些第三方独立的CSS文件,如bootstrap,iconfont等。
PostCSS
PostCSS本身是一个功能比较单一的工具。它提供了一种方式用JavaScript代码来处理CSS。
利用PostCSS可以实现一些工程化的操作,如:自动添加浏览器前缀,代码合并,代码压缩等。
Sass和Less
Sass和Less都属于CSS预处理器,CSS预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为CSS增加了一些编程的特性,
如:变量、语句、函数、继承等概念。
将CSS作为目标生成文件,然后开发者就只要使用这种语言进行CSS的编码工作。
Sass后缀名.scss
Less后缀名.less
语法: (更多…)
bootstrap框架
bootstrap框架是最受欢迎的HTML、CSS和JS框架,用于开发响应式布局、移动设备优先的web项目。
版本v4.3.1
特色:
1.响应式布局
2.基于flex栅格系统
3.丰富的组件和工具方法
4.常见交互使用
响应式布局
利用媒体查询,即media queries ,可以针对不同的媒体类型定义不同的样式,从而实现响应式布局
媒体类型:
all 用于所有设备
print 用于打印机和打印预览
screen 用于电脑屏幕,平板电脑,智能手机等
speech 应用于屏幕阅读器等发声设备 (更多…)
移动端布局
viewport视口
在移动端viewport视口就是浏览器显示页面内容的屏幕区域。在viewport中有两种视口,分别表示为,visua lviewport(可视视口)和layout viewport(布局视口)。
visual viewport固定大小跟屏幕大小相同,在上面,而layout viewport可改变大小,在下面。Layout viewport默认大小为980像素,可通过document.documentElement.clientWidh获取。
现代网页需要将layout viewport设置成跟visual viewport等同大小,方便进行网页制作。
通过meta标签设置,name属性指定viewport值,content属性进行视口配置。 (更多…)
web前端CSS3特效
翻转的骰子
效果体验http://swq2014.github.io/tech/object1.html
<style>
*{margin: 0;padding: 0}
.box{width: 100px;margin: 100px auto;}
.box ul{width: 100px;height: 100px;margin:100px;position: relative;animation: move 6s infinite linear;
transform-style: preserve-3d;backface-visibility: hidden;}
.boxs{width: 100px;height: 100px;display: grid;border: 1px solid;border-radius: 8px;position: absolute;
grid-template-columns: repeat(3,1fr);grid-template-rows: repeat(3,1fr);place-items:center center;
grid-template-areas: (更多…)
grid网格布局
grid网格布局是一个二维的布局方法,纵横两个方向总是同时存在
作用在grid容器上
grid-template-columns
grid-template-rows
grid-template-columns: 1fr 1fr 1fr/100px auto 25%/repeat(3,1fr)
grid-template-rows :1fr 1fr 1fr/100px 100px 200px 100px/repeat(3,1fr)
对网格进行横纵划分,形成二维布局。单位可以是像素,百分比,自适应以及fr单位(网格剩余空间比例单位)。
有时候,我们网格的划分是很规律的,如果需要添加多个横纵网格时,可以利用repeat()语法进行简化操作。 (更多…)
flex弹性布局
父容器
flex-direction 属性规定灵活项目的方向。
row 默认值。灵活的项目将水平显示,正如一个行一样
row-reverse 与 row 相同,但是以相反的顺序
column 灵活的项目将垂直显示,正如一个列一样
column-reverse 与 column 相同,但是以相反的顺序
initial 设置该属性为它的默认值
inherit 从父元素继承该属性 (更多…)
布局扩展之等高布局
利用margin-bottom负值和padding-bottom正值配合实现
<style>
*{margin: 0;padding: 0;}
.box{border: 10px solid;overflow: hidden;}
.box1{float: left;width: 100px;background: red;margin-bottom: -2000px;padding-bottom: 2000px}
.box2{float: right;width: 100px;background: blue;margin-bottom: -2000px;padding-bottom: 2000px}
</style> (更多…)
渐进增强:针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验
优雅降级:一开始就构建完整的功能,然后再针对低版本浏览器进行兼容
CSS hack
用来解决浏览器的兼容性问题,为不同版本的浏览器定制编写不同的css效果,使用每个浏览器单独识别的样式代码,控制浏览器的显示样式
IE检测工具 IEtester
Hack分类
1.css属性前缀法
2.选择器前缀法
3.IE条件注释法 (更多…)
伪类和伪元素区别以及伪元素概念与意义
伪类和伪元素
在css2.1中对伪类和伪元素的区别比较模糊。css3中对这两个概念做了相对较清晰的解释,并且在语法上也做了很明显的区分
在css3中规定伪类由一个冒号开始,然后为伪类的名称;伪元素由两个冒号开始,然后为伪元素的名称 (更多…)
css3分栏多列布局
column-count 指定元素应分为的列数
column-width 指定列的宽度
column-gap 指定列之间差距
column-rule 一个用于设置所有列规则的简写属性
column-span 指定一个元素应该横跨多少列
column-fill 指定如何填充列
column-rule-color 指定的列之间颜色规则
column-rule-style 指定的列之间的样式规则
column-rule-width 指定的列之间的宽度规则
columns 缩写属性设置列宽和列数
遮罩mask
注:需要加浏览器前缀,默认平铺
mask:url地址 平铺方式 x轴 y轴/宽 高
url repeat x y/w h
倒影box-reflect
box-reflect:上 下 左 右 距离 遮罩/渐变
渐变只针对透明度的渐变,不支持颜色的渐变
倒影也可以用翻转transform:scale(-1)
模糊与计算
blur:filter:blur(模糊值)
calc:四则运算
width:calc(100% – 100px)
文本阴影
text-shadow:x y 模糊度 颜色,x1 y1 模糊度 颜色
阴影颜色默认跟文字颜色一样
盒子阴影
box-shadow:x y 模糊度 距离 颜色 内/外阴影
默认阴影颜色黑色和外阴影,如果设置outside不起作用,可选值只有inside内阴影
字体图标
font-face是css3中的一个模块,主要是把自己定义的web字体嵌入到网页中
阿里巴巴矢量图标库
https://www.iconfont.cn/
自定义字体图标
https://icomoon.io/app
好处: (更多…)