前端开发技术之css样式学习笔记分享
概述
前端开发中将前端结构化,html 是文档结构、css 是设置样式(美化页面)、js是逻辑结构
重点是 "选择器" 和 "盒子模型"
发展史
CSS1.0CSS2.0:DIV(块)+CSS,HTML与CSS结构分离的思想,网页变得简单,SEOCSS2.1:浮动,定位CSS3.0:圆角、阴影、(动画…浏览器兼容性~)
快速入门
1. 位置
行内关联 :就是在标签内部设置样式,在标签内 写style
内部关联和 html 在一个文件中,即写入head 里面
样式内容
外部关联就是将css 专门写成一个单独的文件
2. 导入方式
【前端开发技术之css样式学习笔记分享】主要是外部关联的方式,如何导入
使用 link 关键字,在href 加入地址
使用improt @import url("css/style.css");
3. 优先级
就近原则,谁离的近 谁的样式就生效 ---行内样式离的最近
基本选择器
1. 标签选择器 --标签名
body{
//具体的样式
}
div{
//具体的样式
}
2. 类选择器 -- ".类名"
.classname{
//具体的样式
}
3. Id 选择器 --“#id名”
#env{
//具体的样式
}
4. 优先级关系
id 选择器>类选择器>标签选择器
高级选择器
1. 层次选择器
可以依据 html 文档数的层次来进行 样式的选择设置
后代选择器
div p{
//div 标签下的 p 标签样式
}
子代选择器
div>p{
//div 标签下的第一个 p 标签样式
}
相邻/兄弟选择器--/相邻兄弟选择器:只选择一个,相邻(向下)/
.classname+p{
//classsname 后一个标签---非子标签
}
通用选择器
.classname-p{
//classsname 后所有的标签
}
2. 伪类结构选择器
概述:什么是伪类,就是有逻辑的,并没有直接指明是 那里变化,就是依据逻辑位置来判断
使用:标签、类、id 后 使用:
ul li:first-child{/*ul的第一个子元素*/
background: aqua;
}
ul li:last-child{/*ul的最后一个子元素*/
background: blue;
}
/*选中p1:定位到父元素,选择当前的第一个元素
选择当前p元素 的父级元素,选中父级元素的第一个,
??????注意:并且是当前元素才生效!*/
p:nth-child(1){
background: orange;
}
p:nth-of-type(2){/*选中父元素下的,第2个p元素*/
background: red;
}
a:hover{
color: green;
}
3. 属性选择器 --常用
属性名=属性值(正则)
= 表示绝对等于
*=表示包含
^=表示以...开头
$=表示以...结尾
存在id属性的元素a[]{}
a[id]{
background: yellow;
}
a[id=first]{/id=first的元素/
background: green;
}
a[class="links"]{/class 中有links的元素*/
background: bisque;
}
a[href^=http]{/选中href中以http开头的元素/
background: aquamarine;
}
a[href$=pdf]{/选中href中以http开头的元素/
background: aquamarine;
}
文字美化
font-family:字体
font-size:字体大小
font-weight:字体粗细
颜色–>color rgb rgba
文本对齐方式–>text-align:center
首行缩进–>text-indent:2em
行高–>line-height:300px;
下划线–>text-decoration
text-decoration:underline/ 下划线/图片和文字 中心线在一行 img,span{vetical-align:middle}
text-decoration:line-through/ 中划线/
text-decoration:overline/ 上划线/
text-decoration:none/ 超链接去下划线/
背景:background
盒子模型
文章图片
margin --外边距离:就是容器(元素)边框离父 容器的边距位置可以巧妙的使用外边框,使容器居中
padding -- 内边距:边框 向内 一圈的距离
border --边框 :就是容器的框框,参数 border:粗细 样式 颜色border:1px solid red; 边框 style 参数:none定义无边框。hidden与 "none" 相同。不过应用于表时除外,对于表,hidden 用于解决边框冲突。dotted定义点状边框。在大多数浏览器中呈现为实线。dashed定义虚线。在大多数浏览器中呈现为实线。solid定义实线。double定义双线。双线的宽度等于 border-width 的值。groove定义 3D 凹槽边框。其效果取决于 border-color 的值。ridge定义 3D 垄状边框。其效果取决于 border-color 的值。inset定义 3D inset 边框。其效果取决于 border-color 的值。outset定义 3D outset 边框。其效果取决于 border-color 的值。inherit规定应该从父元素继承边框样式。
盒子的大小计算:margin+border+padding+内容,不然会有对不齐--或者windows 窗口出现滑块
浮动
1. 标准文档流
文档流指的是元素排版布局过程中,元素会默认自动从左往右,从上往下的流式排列方式。并最终窗体自上而下分成一行行,并在每行中从左至右的顺序排放元素。
标准文档流的两种等级:
块级元素 \ \
行级元素 \
2. dipaly
参数block:块元素inline行内元素inline-block是块元素,但是可以内联,在一行none消失
使用示例:
div{
width: 100px;
height: 100px;
border: 1px solid red;
display: inline-block;
}
span{
width: 100px;
height: 100px;
border: 1px solid red;
display: inline-block;
}
div块元素
span行内元素
3. float
文章图片
clear:both
3. 对比
定位(重点)--后续
1. 相对定位
相对于自己原来的位置偏移
2. 绝对定位(absolute)
基于某一位置进行定位:上下左右~ 相对于网页 位置不动
1、没有父级元素定位的前提下,相对于浏览器定位
2、假设父级元素存在定位,我们通常会相对于父级元素进行偏移
3、在父级元素范围内移动
总结:相对于父级或浏览器的位置,进行指定的偏移,绝对定位的话,它不在标准文档流中,原来的位置不会被保留
3. 固定定位(fixed)
在某一位置固定不动
比如:导航栏位于浏览器上方位置,固定不动--execle 的锁定位置
层级(z-index)
和ps中的图层概念相似,可以相互覆盖--遮罩
可以和 透明度 (opacity) 相互配合使用
推荐阅读
- PMSJ寻平面设计师之现代(Hyundai)
- 太平之莲
- 闲杂“细雨”
- 七年之痒之后
- 深入理解Go之generate
- 由浅入深理解AOP
- 期刊|期刊 | 国内核心期刊之(北大核心)
- 生活随笔|好天气下的意外之喜
- 感恩之旅第75天
- python学习之|python学习之 实现QQ自动发送消息