前面我们已经讲了前端三剑客中的html和JavaScript,那么现在我们来看一下CSS
CSS核心
0、清除默认样式
* {
/* 清除默认样式 */
margin: 0;
padding: 0;
}
1、尺寸操作-内外边距
.box {
/* 尺寸操作 */
/* 宽度 */
width: 500px ;
/* 高度 */
height: 280px;
/* 边框 */
/* 值:边框宽度 边框样式 边框颜色*/
/* dotted点线边框 */
border: 1px dotted grey;
/* 圆角 */
border-radius: 8px;
/* 内边距 */
/* 内边距 上下 左右 */
padding: 15px 20px ;
/* width: 100%; */
/* 自适应计算 元素呈现尺寸的更改模式 */
box-sizing: border-box;
/* 外边距 */
margin: 30px;
/* 底部 */
margin-bottom: 50px;
/* 设置左右自动适应 */
margin-left: auto;
margin-right: auto;
/* 上下自动适应 */
margin: 10 auto;
}
2、背景处理
/* 2、背景处理 */
/* 背景颜色 */
background-color: #fff;
/* 不能同时使用 */
/* 背景图片 */
background-image: url(/bj.jpg);
/* 元素阴影效果 */
/* 5px:水平方向偏移量 5px:上下偏移量 5px: 渲染的宽度 */
box-shadow: 5px 5px 5px gray ;
3、文本处理
/* 3、文本处理 */
.box p {
/* 字体颜色 */
color: #666;
/* 文本缩进 em代表当前标签的字号 */
text-indent: 2em;
}
.box h1 {
/* 字号 */
font-size: 50px ;
/* 字体 和电脑里的字体有关 */
font-family: '黑体';
/* 字体粗细 */
font-weight: normal;
/* 文字垂直居中 */
text-align: center;
/* 文字水平居中 */
height: 80px;
line-height: 80px;
/* 文本阴影 */
/* 2px:水平方向偏移量 2px:上下偏移量 2px: 晕染的宽度 */
text-shadow: 2px 2px 2px black;
/* 文本装饰 */
text-decoration: dashed underline skyblue;
}
.box span {
/* 颜色 */
color: orange;
/* 垂直显示 */
writing-mode: vertical-lr;
/* 对字母进行垂直显示设置 */
text-orientation: upright;
}
4、位置处理
/* 位置处理 */
.box {
/* 相对定位 */
position: relative;
}
.box span {
/* 绝对定位 */
position: absolute;
/* 基于可视区域进行定位 */
position: fixed;
/* 顶部 */
top: 50px;
/* 左侧 */
left: 5px;
}
CSS布局技术
1、flex布局
/* flex布局 */
.flex-container {
/* 宽度 */
width: 100%;
/* 最大宽度 */
max-width: 800px;
/* 最小宽度 */
min-width: 500px;
/* 上下自动适应 */
margin: 0 auto;
/* 背景颜色 */
background-color: red;
/* 高度 */
height: 800px;
/* 容器布局 */
display: flex;
/* 垂直方向位置 */
/* 顶部 */
align-items: flex-start;
/* 垂直居中 */
align-items: center;
/* 尾部 */
align-items: flex-end;
/* 水平方向位置 */
/* 左侧 */
justify-content: flex-start;
/* 中部 */
justify-content: center;
/* 右侧 */
justify-content: flex-end;
}
.flex-item {
/* 内边距 */
padding: 10px;
/* solid线边框 */
border: 1px solid #ccc;
/* 圆角 */
border-radius: 5px;
/* 背景色 */
background-color: #f9f9f9;
/* 最大高度 */
max-height: 500px;
/* 最大宽度 */
max-width: 200;
/* flex比例 */
flex: 1;
}
/* 使用nth-child选取flex-item中的第2个 */
.flex-item:nth-child(2) {
/* 现在比例为1:2:1 */
flex: 2;
/* 最小宽度 */
min-width: 251px;
}
/* 两边固定 中间自适应 */
.flex-item:nth-child(2n+1) {
/* 这里是最大呈现宽度 */
width: 200px;
}
2、grid
/* grid
二维布局
*/
.grid-container {
/* 容器 */
display: grid;
/* 指定宽度 第一列200px 第二列300px 第三列200px */
grid-template-columns: 200px 300px 200px;
/* 指定宽度 第一列20% 第二列50% 第三列30% */
grid-template-columns: 20% 50% 30%;
/* 比例 使用fr可以实现比例 */
grid-template-columns: 1fr 1fr 1fr;
/* 简写 repeat重复*/
grid-template-columns: repeat(3, 1fr);
/* 自动填充 */
grid-template-columns: repeat(auto-fill, 200px);
/* 两侧固定值 中间自适应 */
grid-template-columns: 300px auto 200px;
/* 容器高 */
height: 600px;
/* 行操作 */
grid-template-rows: 1fr 2fr;
}
.gird-item {
/* 内边距 */
padding: 10px;
/* solid线边框 */
border: 1px solid #ccc;
/* 圆角 */
border-radius: 5px;
/* 背景色 */
background-color: #f9f9f9;
}
CSS过渡-变换-动画
1、过渡
/* 过渡 */
.transition-box {
width: 100px;
height: 100px;
background-color: orange;
/* 过渡运动时间 */
transition: width 1s, height 2s background-color 2s;
/* 统一运动时间 linear 运动模式*/
transition: all 1s linear;
transition: all 1s ease-in;
transition: all 1s ease-in-out;
position: absolute;
left: 0;
}
.transition-box:hover {
width: 200px;
height: 200px;
background-color: tomato;
left: 200px;
}
2、变换
/* 变换 */
.container {
width: 200px;
/* 居中 */
margin: 0 auto;
/* 3d显示 */
transform-style: preserve-3d;
perspective: 500px;
position: relative;
transition: all 1s;
}
.container:hover {
transform: rotate3d(0, 1, 0, 180deg);
}
.tarnsform-box {
width: 200px;
height: 200px;
background-color: orange;
transition: all 1s;
position: absolute;
left: 100px;
top: 100px;
transform-origin: right bottom; /* 旋转中心应该放在这 */
}
/* hover属于交互 */
.tarnsform-box:hover {
transform: translate(100px, 20px);
transform: translateX(100px) translateY(20px);
/* 旋转 */
transform: rotate(30deg);
/* 旋转中心 */
transform-origin: right bottom; /* 旋转中心不应该放在这 */
/* 缩放 */
transform: scale(.5, 2);
/* deg是度 */
/* skew变形操作 */
transform: skew(0, 20deg);
/* X Y Z轴 */
transform: translate3d(100px, 100px, 100px);
/* 3d旋转 */
/* 沿着xyz轴旋转 deg是角度 */
transform: rotate3d(0, 0, 0, 180deg);
}
.test-box {
width: 200px;
height: 200px;
background-color: yellowgreen;
position: absolute;
/* 沿着z轴运动 */
transform: translateZ(-100px);
}
3、动画
/* 动画
关键帧动画
*/
。.tarnsform-box {
/* 无限动 */
animation: changeColor 1s linear infinite;
}
@keyframes changeColor {
0% {
background-color: tomato;
}
50% {
background-color: yellow;
}
100% {
background-color: tomato;
}
}
那么到这里我们的前端三剑客基础就学完了,这边学长建议结合之前的文章写一个小网站巩固一下,下一章我们讲JAVA的基础语法与面向对象编程