HTML +CSS
笔记来自黑马前端Pink老师的b站视频,HTML基础较少就没有记
1、HTML
1.1、表单
表单
- 单选按钮 radio 复选框 checkbox 同一组要有相同的name
- checked 代表选中的意思
- value 属性在前端有些看不到, name与value 是给后端使用的
- submit 是提交属性,点击submit之后表单的内容就会提交
- button 通过JavaScript 启动脚本
lable 标签
配合表单使用,label 绑定一个表单元素(id),当点击label标签里面的内容时,光标就会自动转到对应的表单元素里面。
<label for="man">男</label> <input type="radio" name="sex" value="男" id="man" checked="checked">
2、CSS
2.1、CSS 选择器
2.1.1、标签选择器
<h1> <p> 等等的标签
<style>
h1 {
color: white;
}
</style>
2.1.2、类选择器
最常用的选择器
<style>
.test1 {
color: red;
}
</style>
<div class="test1">
</div>
命名规范:
- 头:header
- 内容:content
- 尾:footer
- 导航:nav
- 侧栏:siderbar
- 栏目:column
多类名:
-
一个标签可以指定多个类名,多个类名中间用空格分开
-
使用场景:将一些标签的公共的样式提取出来,这样修改的时候就十分方便
2.1.3 id 选择器
- 样式#定义,结构id调用,只能调用一次,别人切勿使用
2.1.4 通配符选择器
2.2、字体属性
2.2.1、字体系列
- 设置多个字体,这样就会从第一个字体开始,有哪个字体就会使用哪个字体,从前往后。
2.2.2、字体大小
- 如果body标签中,h标签有些特殊,需要单独指定
2.2.3、文字粗细
- 这个属性有点多,可以看一下中文手册。
2.2.4、文字样式
2.2.5、复合写法
2.3、文本属性
2.3.1、文本颜色
2.3.2、对齐文本
2.3.3、装饰文本
- 使用none将链接的下划线去掉
2.3.4、文本缩进
2.3.5、行间距
2.4、CSS引入方式
2.4.1、嵌入式
2.4.2、行内式
2.4.3、外部样式表
2.5、Emmet语法
2.5.1、快速生成HTML
2.5.2、快速生成CSS
text-align: center; -- tac
height: 200px; -- h200
width: 300px; -- w300
text-decoration: none; -- tdn
2.5.3、快速优化代码格式
在setting的emmet:include 设置添加这两句代码
"emmet.includeLanguages": {
"editor.formatOnType": "true",
"deitor.formatOnSave": "true"
}
2.6、复合选择器
2.6.1、后代选择器
2.6.2、子代选择器
2.6.3、并集选择器
2.6.4、伪类选择器
多用于链接的使用
<style>
/* 1.未访问的连接 把没有点击过的链接选出来 */
a:link {
color: #333;
text-decoration: none;
}
/* 2. a:visited 选择点击过的链接 */
a:visited {
color: orange;
}
/* 3. a:hover 选择鼠标经过的那个链接 */
a:hover {
color: red;
}
/* 4. a:active 选择的是我们鼠标正在按下还没有弹起的那个链接 */
a:active {
color: green;
}
</style>
2.6.5、:focus 伪类选择器
2.7、CSS元素显示模式
2.7.1、什么是元素显示模式
作用: 网页的标签非常多,在不同的地方会用到不同类型的标签,了解他们的特点可以更好的布局我们的页面
元素选择模式就是元素以什么方式进行显示,比如**
HTML 一般分为块元素 和行内元素
2.7.2、块元素
2.7.3、行内元素
2.7.4、行内块元素
行内块元素是一个重点
2.7.5、元素显示模式转换
特殊情况下,我们需要元素模式的转换,简单理解一下:一个模式的元素需要另外一种模式的特性,比如想要增加链接响应的触发范围
- 转换为块元素:display:block
- 转换为行内元素:display:inline;
- 转换为行内块元素 :display:inline-block
2.7.6、单行文字垂直居中
2.8、CSS背景
2.8.1、背景颜色
2.8.2、背景图片
背景平铺
页面元素既可以添加背景颜色也可以添加背景图片,只不过背景图片会压住背景颜色
背景图片位置(重要)
-
-
background-position: right center; background-position: center right; /* 这两个的效果相同,因为 right 、left 只能代表水平 top bottom只能代表垂直 */
-
背景固定
背景复合写法
背景半透明
2.9 、CSS 三大特性
2.9.1、层叠性
2.9.2、继承性
行高的继承
2.9.3、优先级
3、盒子模型
3.1、看透网页布局本质
3.2、盒子模型的组成
3.3、边框
- border-style:
- solid 实线边框
- dashed 虚线边框
- dotted 点线边框
边框简写
边框分开写法
合并表格相邻单元格边框
边框会影响盒子的实际大小
3.4、内边距(padding)
简写写法:
padding会影响盒子的实际大小
3.5、外边距(margin)
水平居中
外边距合并问题
3.6、清除网页内外边距
总结
3.7、圆角边框
3.8、盒子阴影
3.9、文字阴影
4、CSS浮动
简单理解就是让多个块级元素排列在一行
4.1、浮动的特性
- 脱标性
- 一行显示
- 浮动元素具有行内块的特性
4.2、浮动搭配标准流
4.3、清除浮动
-
清除浮动的本质
语法
方法:
- 额外标签法(隔墙法,也是W3C推荐的做法):
- 父级添加overflow属性
- 父级添加after属性
- 父级添加双伪元素
5、项目技巧:
CSS书写顺序
写一个公共类,所有版心都可以直接调用
.w {
width: 200px;
margin: auto;
}
导航栏注意点
行内块中间默认有间隙,使用浮动可以去掉
6、CSS定位
6.1、为什么需要定位
6.2、定位组成
6.3、定位模式
6.3.1、静态定位
6.3.2、相对定位
6.3.3、绝对定位
6.3.4、子绝父相
6.3.5、固定定位(fixed)
- 固定在版心旁边
6.3.6、粘性定位
比如将top: 0px 之后,当距离顶部为0之后该元素就固定住了
6.4、边偏移
6.5、定位叠放次序
6.6、定位的拓展
7、元素显示与隐藏
7.1、display 属性
7.2、visibility
7.3、overflow
8、CSS高级技巧
8.1、精灵图技术
目的: 为了有效地减少服务器接收和发送请求的次数,提高页面的加载速度。
图片移动,不是盒子移动。
8.2、字体图标
使用:
-
引入字体文件
将fonts文件夹放HTML文件的同级目录
-
打开Demo复制 特殊字符
-
font-family: 设置为 ‘icomoon’
8.3、CSS三角
8.4、CSS用户界面
8.4.1、鼠标样式
8.4.2、表单边框线
8.4.3、文本框防拖拽
textarea 尽量写在一行,这样光标定位的时候就不会有间隙了
8.4.4、vertical-align 属性应用
8.4.5、溢出文字省略号
9、常见布局技巧
9.1、margin 负值
9.2、文字围绕浮动元素
浮动元素不会压住文字
9.3、行内块巧用
一个盒子里面如果添加了text-algin:center 那么盒子里面的所有行内块元素和行内元素都会水平居中。
9.4、CSS三角强化
9.5、CSS初始化
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
button,
textarea,
p,
blockquote,
th,
td {
margin: 0;
padding: 0;
}
body {
background: #fff;
color: #555;
font-size: 14px;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
td,
th,
caption {
font-size: 14px;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-weight: normal;
font-size: 100%;
}
address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
font-style: normal;
font-weight: normal;
}
a {
color: #555;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
img {
border: none;
}
ol,
ul,
li {
list-style: none;
}
input,
textarea,
select,
button {
font: 14px Verdana, Helvetica, Arial, sans-serif;
}
table {
border-collapse: collapse;
}
html {
overflow-y: scroll;
}
.clearfix:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.clearfix {
*zoom: 1;
}
10、HTML CSS 提高
10.1、HTML5 新特性
10.1.1、语义化标签
10.1.2、多媒体标签
- 视频
- 音频
10.1.3、新增input属性
重点记住: number ,tel ,search
10.1.4、新增的表单属性
10.2、CSS3 的新特性
10.2.1、新增选择器
属性选择器
注意:类选择器,属性选择器,伪类选择器,权重为10
结构伪类选择器
前面三个 与后面三个是有区别的 :
前三个: 现在父容器中给子盒子排序 然后在匹配 排好序子盒子是不是与 E 相匹配,如果排好序的盒子不是与E匹配那么就没有【作用
后三个:先找到 E 的子盒子,然后再进行排序,这样基本都会有作用
伪元素选择器(重点)
10.2.2、CSS3盒子模型
10.2.3、图片模糊
10.2.4、calc 函数
10.2.5、过渡 (重点)
如果多个属性都要变化,那么这样写
transition: width 0.5s ease 1s ,height 0.5s ease 1s;
或者写all
transition: all 0.5s ease 1s;