HTML+CSS

1, 无线端页面
一, 写移动页面需要在前面添加
	
二, 写移动页面,尺寸要从PX转REM
2, H5新增标签
一, 新标签,跟div用法一样,更具有语义化
	header 头部标签       section  内容区域     footer  底部区域
	article  独立区域     aside  辅助信息       nav  导航区域       hgroup  组合标题标签
1, 创建一个圆
一. css属性添加 border-radius:50%;  改变一个元素角的弧度
	提示: 为四个数值时,顺时针改变角的弧度
	或者: border-bottom-lefr-radius:10px;  为左下角的弧度
2, 元素阴影-滤镜-倒影
一, 元素添加阴影
	文字阴影 text-shadow:1px 2px 3px red;
        顺序: 水平-垂直-模糊-颜色
    元素阴影  box-shadow:1px 2px 3px 4px red inset;
        水平-垂直-模糊-阴影大小-颜色-内阴影
    多重阴影  text-shadow:1px 2px red,1px 2px red;(逗号隔开)
        水平-垂直-颜色
        
二, 元素滤镜
	filter:burl(10px);
        burl(10px) 模糊      brightness(10%)明亮/暗度      opacity(10%)透明度
        saturate(10%)颜色饱和度        contrast(10%)对比度
        
三, 元素倒影
	-webkit-box-reflect:below 10px linear-gradient(transparent 50%,rgba(255,255,255,.3));
	倒影的方向 必须添加渐变,从虚到实
	above 上     below 下     left 左     right 右
3, 基础标签
一, 单标签 
	  空格    
让后面全部变成空格(换行)
画一条水平线 二, 图片的引入 引入图片 src="图片的路径" alt="图片的内容" title="鼠标放上去要展示的内容" width="图片宽度" height="图片高度"(宽高写一个会等比缩放) 图片的内容 三, 关于路劲 相对路劲: ../指令返回上一级 ./本页面出发(可不填) 绝对路劲: 直接复制图片的路劲 四, 双标签 (前后都有,后面的需要加结束斜杠,需要加尖括号) b/strong 内容加粗,后面的是标记为特殊 i/em 内容倾斜,后面的是标记为特殊 p 单独占一行 h1-h6 标题,会加粗,字号依次变小,只能存在6个,h1只能有一个,不能相互嵌套 center 强制性内容居中 u 为文本添加下划线 mark 高亮显示内容区相同的文字 div 单独占据一行,内容是一整块,搭建页面结构 span 空白区,也类似选中一块进行样式编辑,主要做样式修改 五, 特殊颜色编辑 ::selection{background: ; color: ;}对选中的进行颜色编辑 style="color:red" 对选中的进行颜色编辑 六, 排序列表 ul/li 无序列表,默认前面有小黑点,ul为前提,li跟P一样,单独占一行 ol/li 有序列表,默认前面是数字,ul为前提,li跟P一样,单独占一行
    通过改字可以改排序方法 reversed 使排序倒过来 ul{list-style:none;} 可以去掉ul/ol前面的标签符号 dl/dt/dd 自定义列表,单独占一行,一个dl只有一个dt,类似主标题,dd类似副标题,可以存在多个 figure/figcaption/p 自定义列表,单独占一行
    1, 添加超链接
    一, 添加超链接
    	< a >  添加超链接
    	href="需要跳转的页面"
    	   (跳转的里面单独一个#是指本页面跳转,需要在#后面加上锚点名称)
    		给要点击的元素添加cursor:pointer;统一为手
    	target 跳转样式
    		_self  当前页面刷新     _blank 打开新窗口     _new  在新窗口刷新
    		
    二, 锚点链接
    	要点1: 有点击的位置
    		点击位置
    	要点2: 有跳转位置
    		

    (name也可以) 要点3: 跳转位置不在最顶上,说明页面高度不够

    2, 表格
    table 创建表格
    	border="加边框"         
    	cesspadding="边框和内容的间隙"      
    	cellspacing="边框和边框之间的间隙"
        width="宽度"      
        height="高度"       
        bgcolor="背景色"(不可以用style)
        background-color="背景色2"(可以用style)
        align="left/center/right"对齐方式(水平对齐)  justify(对齐换行)
        valign="middle"()
        
    tr:行    td:列
        rowspan="上下合并个数" 合并行
        colspan="左右合并个数" 合并列
    
    3, 表单
    form:表单
    	action="提交地址"
    	method="提交方式"
    		get:明文提交,数据看得见,不安全,有长度限制
    		post:非明文提交,数据看不见,安全性高,没长度限制
    fieldset  表单字段,整合标签,给表单属性添加标签
    
    input:表单元素
    	type="text" 单行文本输入框(账号)
    	type="password" 密码输入框(密码)
    	type="reset" 重置按钮
    	type="submit" 提交按钮(类似登陆,提交数据)
    	type="button"" 普通按钮(没有什么作用,单纯一个按钮)
    	type="file" 选择文件按钮
    		multiple 实现多选   multiple="multiple"
    	type="radio" 单选按钮圆形
    	type="checkbox" 多选按钮方形
    		checked="默认选中"		disabled="禁用"
    	input type="email"  邮件提交
    	input type="url"    网址提交
    	input type="number" 只能填数字选框
    	input type="range"  数字拖动框
    	(单独生成一个按钮)
    	border:none; 去掉表单自带的边框
    	outline:none; 去掉表单选中时带的蓝色边框
    	
    select:下拉列表
    	option列表的行数(双标签,前者为主,后者为内容)
    
    textarea:文本输入框
    	cols="宽度"   	rows="高度/行数"
    	
    表单中用到的属性
    	placeholder="框内显示的内容"(类似提示)
    		添加行高可以调整位置
    	name="元素的名字"  (重复可以导致冲突只选一个)
    	value="元素值"	 上传的什么(也可用来编辑框内内容)
    	checked   针对选择按钮,默认选中
    	disabled   针对选择按钮,默认禁用,变成灰色
    	autofocus  打开是默认选中的框,只能有一个
    	maxlength="10" 最大输入内容个数限制
    	required="true"    内容不能为空
    	autocomplete="on/off" 是否保留历史输入记录
    	
    表单关联标签(点击内容即可点击按钮)
    	label 双标签,关联标签
    	需要给按钮添加ID  label添加for  两个名字一样
    	
    
    4, CSS基本语法
    内部添加css
    	在页面处添加
    			div{width:300px;}     选择要编辑的段落标签{属性:属性值;}
    	在页面单独的标签前面添加样式style="属性:属性值;"
    
    外部添加css
    	外部新建一个.css文件,在页面的head中通过link标签引入
    			
    			外部css文件清空,加上@charser "utf-8";
    
    1, css类型选择器
    类型选择器(选择性的进行css样式添加,给段落取名字进行添加)
    	class="name"  添加到标签属性中,在css编辑的时候需添加“.name”
    	id="name"     添加到标签属性中,在css编辑的时候需添加“#name”
    	*{css样式}  默认匹配页面所有元素标签(适用去掉边框什么的)
    	群组选择器(多选)  class,class,class{css样式}(每个之间用逗号分开)
    	包含选择器(父子关系选择)name name name{css样式}(每个之间用空格分开)
    			选择器排名   id选择器100分>class选择器10分>类型选择器1分
    			相同的时候,采用加载的优先级,后加载的显示
    	兄弟选择器,用+号来表示
    	伪类选择器(针对超链接的选择器效果)
    			:link{} 初始状态 
    			:visited{} 访问过后的状态
    			:hover{} 鼠标悬停的状态(仅针对前面一个有效,多个需要重复添加:hover)
    			:active{} 鼠标按下的状态(仅针对前面一个有效,多个需要重复添加:active)
    			transition:1s; 可以控制鼠标放上去过度时间
    	属性选择器  (针对符号来选择)
    			[属性='值的内容']   通过标签添加的属性来查找
    			属性的后面添加符号:
    				^ 找xxx开头的      $ 找xxx结尾的      *  找全部带有xxx是
    			语法: [href^='www.bc.com']
    
    2, css基本样式
    css样式
    	width:300px;(元素的宽度)
    	height:300px;(元素的高度)
    	background:#999999;(元素背景的颜色)
    	border: groove 40px blue;(框的类型,大小,颜色)
    			solid 实线  dotted 点组成的虚线  dashed 虚线  double 双线
    	color:rgb(255,255,255);    rbga(255,255,255,0.5)  a的意思是透明度
    	opacity:0.5; 透明,元素所有都透明
    	vertical-align:top; 去掉图片下方默认的间距
    	vertical-align:middle;元素的对齐方式(可以解决图片跟文字对齐)
    			top  顶部对齐  middle  居中对齐  bottom  底部对齐
    	transparent  把对象变成透明
    	
    			
    文本css样式
    	font-size:100px;(文字的大小)
    			默认是16,最小是12,  0是不显示
    			em继承最近的父级的文本大小  ,没有父级跟着body
    			rem跟着根元素(html)的文本大小变化(用于移动端)
    	font-family:微软雅黑;(字体选择)
    			ont-family:"字体1","字体2";(多选字体,会按循序加载字体,逗号隔开)
    	font-weight:文本加粗;
    			默认500  bold/600=加粗   normal默认文本/去掉加粗
    	font-styel:文本倾斜;
    			italic倾斜/加高权重   oblique倾斜/仅仅是效果    normal去掉倾斜效果/不倾斜
    	text-align:文字/内容对齐;
    			left/center/right   左/中/右对齐
    	text-indent:10px;首行缩进
    	line-height:行高;  文本垂直对齐方式
    			normal 默认值
    			跟高度一样的大小默认居中,不给单位的时候数值乘以文字字号大小'
    	
    	font 文本类型综合简写方法
    			font:文本大小/行高 字体类型;  加粗,倾斜都可加入
    					大小和行高和字体必须有
    					
    超链接文本修饰
    	text-decoration:修饰内容;  去掉下划线
    			underline 添加下划线      overline  上划线  
    			line-through  中划线     none  去掉线/没有线
    	letter-spacing:字间距;
    			px  字与字的距离
    			
    针对列表(ul li/ol li等)
    	list-style-type:列表的样式;
    			disc实心圆  circle空心圆  square实心方块  none去掉符号
    	把图片变成列表符号
    			list-style-image:url(图片的路径);
    	改变列表符号的位置
    			list-style-position:位置; 
    					outside(外边)  inside(里边)
    
    针对"边框" 的CSS进行编辑
    	border-images: url("地址");  把图片变成背景
    	border-images-slice:27px;  除了四个角,,其他地方切27像素
    	border-images-repeat:round;  平铺
    
    针对“背景”的css进行编辑
    	background-color:背景颜色;
    			transparent 透明色填充
    	background-image:url("图片路径")(吧背景变成图片)
    	background-repeat:repeat; (针对图片的平铺样式)
    			repeat平铺  no-repeat 不平铺  repeat-x 横向平铺  repaat-y 纵向平铺
    	background-position:定位的方向; (背景出现的位置-定位-对齐方式)
    			left左  right右  center中/居中  top上  bottom下
    	background-attachment:定位方法; 让背景固定或者随着文字移动
    			scroll 单纯的背景            fixed 让背景固定
    	background的简写(  background:简写的内容;  )
    			background:url("图片路径") 背景颜色 定位的方向;
    	background-size: 100px 100px;   设置背景图的大小
    			cover  默认为铺满
    	
    内容的浮动样式
    	float: 浮动形式 ;  (浮动)
    			left:左浮动  right:右浮动  none:不浮动
    		图片浮动:
    			图片浮动,文字会默认跟随图片,形成图片嵌入到文本里面
    		浮动元素带来的问题,父级元素没有高度,会造成塌陷
    			解决方案1:给父级元素添加高度
    			解决方案2:给父级元素添加 overflow:hidden;
    			解决方案3:给浮动元素添加清楚样式
    				添加属性  clear:both(清除浮动带来的问题,需要添加在内容的后面)
    				
    添加要求:需要单独占一行,在标签里面,且出现在最后一行 left(清除左浮动) right(清除右浮动) both(清除所有) 缺点:会造成大量代码重复,加载慢 解决方案4:添加伪元素,默认添加在内容最后 .clear:after{ } 需要添加给父级,才能去掉塌陷问题,下面三个都要填入 content:"内容"; display:block;(单独占一行) clear:both;(跟方案2一样) 内容输入文字,会出现在子元素最后 盒模型的组成 内容区域: content 内边距区域: padding(距离不可以出现负数) 边框: border 外边距区域: margin(距离可以出现负数) auto 使内容左右居中 单独设置内容和边框的距离 padding=:100px; left左 right右 top上 bottom下 auto左右居中 padding-top=:100px;(改变上面的距离) padding:100px 200px 300px 400px;(顺时针改变) 单独设置边框和周围平齐元素的距离 margin=:100px;(四周距离) margin=:auto;(居中) 父级设置内边距时,会造成内容撑大 解决方法 父级添加 box-sizing:border-box; (变成怪异盒模型) 也可以吧边框改成内边框,把元素计算到总尺寸内 弹性盒模型(无线) display:flex; 把目标变成弹性盒模型 flex-direction:row;设置弹性盒模型的属性 row 默认水平 row-reverse 水平反方向 column 设为垂直 column-reverse 垂直反反向 flex-wrap:wrap; 设置子元素是否换行 nowrap 不换行(一行显示) wrap 子元素会换行,默认不换行,并且会挤压 wrap-reverse 反向换行 flex-flow:row wrap;同时设置主元素和子元素 主轴对齐方式 justify-content: ;子级在主轴上的对齐方式 flex-start 起始位置 flex-end 结束位置 center 中间对齐(所有元素中间对齐) space-around 自动分配(在父级内自动分配) space-between 元素两端对齐(两端对齐,中间自动分配) space-evenly 平分子元素(谷歌支持) 侧轴对齐方式 align-items:;子级在侧轴上的对齐方式 flex-start 起始位置 flex-end 结束位置 center 中间对齐 baseline 第一行内容底部对齐 stretch 默认值(每个都有默认值) align-content: ; 多行子级在侧轴上的对齐方式 flex-start 起始位置 flex-end 结束位置 center 中间对齐(所有元素中间对齐) space-around 自动分配(在父级内自动分配) space-between 元素两端对齐(两端对齐,中间自动分配) 子元素的对齐方式 align-self: ;子级在侧轴上的对齐方式 flex-start 起始位置 flex-end 结束位置 center 中间对齐 baseline 第一行内容对齐 auto 自适应对齐 order: ; 子级的排列顺序,数值越大,排序越靠后,0为默认值 flex: ; 剩余空间的分配 flex-grow:1;把父级剩余空间分配给对应的子元素,百分比为父级的百分比 flex-shrink:2; 设置元素在被缩小时的缩小比例,默认为1 关于文本操作 文本溢出操作 overflow:编辑方法; 对溢出文本编辑 -x -y visible 默认正常超出 hidden 内容只在设定的大小内显示,超出的不可见 scroll 出现上下拉动条或左右拉动条 auto 内容被裁剪了,自动出现拉动条 inherit 跟随父级设置 文本空白操作 white-space:操作方法; 对空白处进行操作 normal 默认正常超出 nowrap 强制性不换行,一行显示,遇到br才会换行 pre 根据编辑器的原格式显示 pre-wrap 保留空白区域,正常换行 pre-line 合并空白区域,保留换行 文本超出部分出现省略号 必备三个条件 white-space:nowrap; 文本不会换行 overflow:hidden; 文本超出隐藏部分 text-overflow:ellipsis; 超出的部分用省略号显示 text-overflow:clip; 超出部分进行裁剪不显示
    3, 元素类型转换
    元素类型转换
           display:元素值;
                   block   把行级元素变成块状元素,标签不变(显示)比如div  p(还可去除图片下面的间隙)
                   inline   变成行级元素 (比如  p  span i)
                   inline-block   变成内联块元素(比如  img  input)
                   list-item   把元素转换成列表类型,类似ui li
                   none   元素隐藏  不占据文档流
                   扩展 +  用加号可以实现鼠标放在A,B显示,并且A和B是兄弟关系标签,只能向后
                    
    元素图片的定位
    		position:;(针对父级)
                top   bottom   left   right 
                单位填50%的时候会进行页面居中(采取的是元素对应的角)
                transform:translate(-50%,-50%);往回拉元素本身的一半,达到居中
    
                static  默认值
                relative  相对定位(占据文档流,元素本身的位置 )
                absolute  绝对定位(脱离文档流,可以在父级任意地方进行漂浮定位)
                fixed  固定(将内容固定在页面某个地方,随着滚动条移动,类似悬浮)
                
    		元素完全居中
                方法1:添加绝对定位,四个方向为0,再添加margin:auto;
                    	position:absolute; top:0; left:0; bottom:0; right:0; margin:auto;
                方法2:添加绝对定位,两个方向为50%,同时两个方向内缩元素的一半
                    	position:absolute;  top:50%;  left:50%; margin-方向:负一半;
                    	
    		z-index:;(更改图层定位的层级关系)
                    值越大,层级越高
                    值越小,层级越低
    
    4, 视频的插入
    视频的插入
    		object 插入视频父级标签
                    param  视频插入,单标签
                        背景蓝色,无法直接控制大小,大小由父级元素object控制,value添加视频连接 
                        
                    embed  视频插入  双标签
                        背景黑色 可以直接控制大小  src添加视频连接
                        
                    wmode="transparent"  去掉元素本身自带的背景,变成透明
                    
    		插入外部内容
                    iframe 插入外部网页
                        frameborder:0;(0为去掉边框  1为有边框)
            src  加入网页地址或者视频地址,视频通用代码
                    
    
    5, 音频的插入
    音频的插入
            audio  音频文件(默认不显示控件)
                    
            video  放置视频文件
                    
            属性添加(对音频或者视频添加额外属性)
                    controls  显示控件
                    autoplay  加载完成自动播放
                    loop      循环播放
                    preload   预加载
                    poster    设置第一帧图画,也就是视频封面,不能跟自动播放使用
                    width/height  设置视频的宽度和高度
            设置视频支持的格式
                    支持格式,放在video标签里面
                        ogg        带有Threora视频编码和Vorbis音频编码
                        mpeg4   带有H.264视频编码和AAC音频编码
                        webm     带有VP8视频编码和Vorbis音频编码
    
    
    6, 宽高自适应
    宽高自适应  给元素设置最大和最小 
            min-height:10px; 最小宽度
            max-height:100px; 最大宽度
    
    7, 元素权重加重
    元素权重加重
    	!important  对同样的元素加高权重,优先显示,主要用来针对不同浏览器的兼容
    
    8, 元素渐变
    元素渐变
            background:linear-gradient(颜色,颜色);
                        linear线性渐变    radial径向渐变
                    (left,颜色,颜色) 渐变从指定的方向先开始
                    (颜色 20%,颜色 60%) 从20%开始渐变到60%停止
                    (circle,颜色,颜色) 径向渐变正圆
            background:repeating-linear-gradient(颜色 10%,颜色 20%);
                	渐变的宽度取值第一个百分比到第二个百分比的距离
    
    9, 动画效果
    过度时间动画
             transition:1s 2s background linear;
                	过度时间-等待时间-过度属性-过度方式(过度属性不填为全部)
                	
    过度的效果 ease 从慢到快   linear 匀速    ease-out  减速 
            	贝塞尔曲线控制速度  cubic-bezier(1,1,1,1)
              
    针对指定样式过度
    		transition-property:width color background;   /*过度宽度,文字颜色,背景*/
    			all 过度所有属性
    			
    transform 元素转换
            translate 元素位移
                 transform:translate(10px 10px);    /*也可以直接translateX/Y(10px)*/
            origin 元素的位置
                 transform:origin(left top);
            rotate 目标在一条直线上旋转
                 transform:rotate(0deg);
                     rotateX x轴   rotateY y轴  rotateZ z垂直
            skew 让目标倾斜
                 transform:skew(0deg);
            scale 增加或减小元素
                 transform:scale(2); 默认为1,取绝对值
    					
    动画效果
            @keyframes box{form{开始} to{结束}}    /*设置一个运动方式*/
            @keyframes box{0%{效果} 50%{效果} 100%{效果}}    /*设置一个运动方式*/
            animation:1s infinite linear box;       /*给元素添加动画效果*/
                	时间-次数(无限)-过度效果-运动方式名字(也就是调用上哪个动画)
                	
    创建3D效果(需要结合元素转换)
             transform-style:preserve-3d;在父级创建3D坏境
             perspective:200px; 景深,近大远小
             perspective-origin:100px 100px; 观看3D的角度
    
    
    5,关于内容的显示和隐藏
    关于内容的显示和隐藏
            visibility  显示隐藏,占据文档流(只针对一个)
                	hidden 隐藏    visible 显示
            display  显示隐藏,不占据文档流
                	none 隐藏    block 显示
    

    你可能感兴趣的:(css,html,css3)