欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 【CSS】样式与效果

【CSS】样式与效果

2025/5/2 6:25:17 来源:https://blog.csdn.net/Go_ahead1025/article/details/146890442  浏览:    关键词:【CSS】样式与效果

在这里插入图片描述

个人主页:Guiat
归属专栏:HTML CSS JavaScript

在这里插入图片描述

文章目录

  • 1. CSS盒模型
    • 1.1 盒模型基础
    • 1.2 盒模型类型
      • 1.2.1 标准盒模型
      • 1.2.2 IE盒模型
  • 2. CSS选择器
    • 2.1 基本选择器
    • 2.2 组合选择器
    • 2.3 伪类和伪元素
  • 3. CSS布局技术
    • 3.1 Flexbox布局
    • 3.2 Grid布局
    • 3.3 定位
  • 4. CSS过渡与动画
    • 4.1 过渡
    • 4.2 动画
  • 5. 响应式设计
    • 5.1 媒体查询
    • 5.2 视口单位
  • 6. CSS变量
  • 7. CSS预处理器
    • 7.1 Sass/SCSS
    • 7.2 Less
  • 8. CSS优化技巧
    • 8.1 选择器优化
    • 8.2 简写属性
    • 8.3 减少重绘和回流

正文

1. CSS盒模型

1.1 盒模型基础

盒模型是CSS布局的基础,由内容(content)、内边距(padding)、边框(border)和外边距(margin)组成。

.box {width: 300px;height: 200px;padding: 20px;border: 1px solid black;margin: 30px;
}

1.2 盒模型类型

1.2.1 标准盒模型

在标准盒模型中,元素的宽度和高度只包括内容区域。

.standard-box {box-sizing: content-box; /* 默认值 */width: 300px; /* 仅内容区域宽度 */
}

1.2.2 IE盒模型

在IE盒模型中,元素的宽度和高度包括内容、内边距和边框。

.ie-box {box-sizing: border-box;width: 300px; /* 包括内容区域、内边距和边框 */
}

2. CSS选择器

2.1 基本选择器

/* 元素选择器 */
p { color: blue; }/* 类选择器 */
.highlight { background-color: yellow; }/* ID选择器 */
#header { font-size: 24px; }/* 通用选择器 */
* { margin: 0; padding: 0; }

2.2 组合选择器

/* 后代选择器 */
article p { line-height: 1.6; }/* 子元素选择器 */
ul > li { list-style-type: square; }/* 相邻兄弟选择器 */
h2 + p { font-weight: bold; }/* 通用兄弟选择器 */
h2 ~ p { color: gray; }

2.3 伪类和伪元素

/* 伪类 */
a:hover { text-decoration: underline; }
li:first-child { font-weight: bold; }/* 伪元素 */
p::first-line { font-variant: small-caps; }
p::before { content: "➤ "; }

3. CSS布局技术

3.1 Flexbox布局

Flexbox提供了一种更有效的方式来布局、对齐和分配容器中项目之间的空间。

.container {display: flex;justify-content: space-between;align-items: center;
}.item {flex: 1;margin: 5px;
}

3.2 Grid布局

Grid布局允许开发者创建二维网格布局系统。

.grid-container {display: grid;grid-template-columns: repeat(3, 1fr);grid-gap: 20px;
}.grid-item {grid-column: span 2;
}

3.3 定位

CSS定位允许你精确控制元素的位置。

.relative {position: relative;top: 20px;left: 30px;
}.absolute {position: absolute;top: 50px;right: 10px;
}.fixed {position: fixed;bottom: 0;width: 100%;
}

4. CSS过渡与动画

4.1 过渡

CSS过渡允许元素在不同状态之间平滑地改变。

.button {background-color: blue;transition: background-color 0.3s ease;
}.button:hover {background-color: darkblue;
}

4.2 动画

CSS动画使用@keyframes规则来创建动画序列。

@keyframes slide-in {0% {transform: translateX(-100%);}100% {transform: translateX(0);}
}.animated {animation: slide-in 1s ease forwards;
}

5. 响应式设计

5.1 媒体查询

媒体查询允许根据设备特性应用不同的样式。

/* 桌面设备 */
@media (min-width: 992px) {.container {width: 970px;}
}/* 平板设备 */
@media (min-width: 768px) and (max-width: 991px) {.container {width: 750px;}
}/* 移动设备 */
@media (max-width: 767px) {.container {width: 100%;}
}

5.2 视口单位

视口单位基于视口的尺寸,适合响应式设计。

.hero {height: 100vh; /* 视口高度的100% */width: 100vw; /* 视口宽度的100% */
}.text {font-size: 5vw; /* 视口宽度的5% */
}

6. CSS变量

CSS变量(自定义属性)提供了在整个文档中重用值的能力。

:root {--primary-color: #3498db;--secondary-color: #2ecc71;--font-size-base: 16px;
}.button {background-color: var(--primary-color);font-size: var(--font-size-base);
}.highlight {color: var(--secondary-color);
}

7. CSS预处理器

7.1 Sass/SCSS

Sass为CSS添加了变量、嵌套、混合等高级功能。

$primary-color: #3498db;.navbar {background-color: $primary-color;ul {display: flex;li {margin: 0 10px;a {color: white;&:hover {text-decoration: underline;}}}}
}

7.2 Less

Less是另一种流行的CSS预处理器,语法与CSS更接近。

@primary-color: #3498db;.button {background-color: @primary-color;&:hover {background-color: darken(@primary-color, 10%);}
}

8. CSS优化技巧

8.1 选择器优化

/* 避免 */
body .content article .title { color: red; }/* 推荐 */
.content-title { color: red; }

8.2 简写属性

/* 避免 */
.element {margin-top: 10px;margin-right: 20px;margin-bottom: 10px;margin-left: 20px;
}/* 推荐 */
.element {margin: 10px 20px;
}

8.3 减少重绘和回流

/* 避免 */
.box {width: 100px;height: 100px;position: absolute;top: 50px;left: 50px;border: 1px solid black;
}/* 推荐 */
.box {transform: translate(50px, 50px);width: 100px;height: 100px;position: absolute;border: 1px solid black;
}

结语
感谢您的阅读!期待您的一键三连!欢迎指正!

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词