咱就是说,端午哪里不下雨?
1943 字
10 分钟
CSS 基础
AI 摘要
文章全面介绍 CSS 基础:
-
作用与概念:CSS 用于为 HTML 元素指定样式,与 HTML、JavaScript 协作,分别负责页面结构、样式与交互动态效果。
-
语法结构:由选择器指定应用样式的元素,属性确定样式种类,值设定属性具体内容。
-
选择器:涵盖基本选择器(类型、类、ID)、组合选择器(后代、子元素等)、伪类选择器(
:hover等)及伪元素选择器(::before等)。 -
常见属性:
- 文本与字体:包括
font-family等设置字体相关样式。 - 背景与图片:如
background-color设置背景颜色。 - 边框与间距:像
border设置边框,padding和margin处理内外边距。 - 布局:涉及盒模型(
box-sizing等)与定位(position等)。 - Flexbox 布局:通过
display: flex等属性实现。 - 响应式设计:借助媒体查询
@media适配不同屏幕。- 动画与过渡:过渡可平滑改变样式,动画能实现关键帧间变化。
- 文本与字体:包括
1. CSS 的作用和基本概念
CSS(Cascading Style Sheets)是用于为网页中的 HTML 元素指定样式的技术。CSS 使我们能够控制网页内容的排版、颜色、字体、背景、边框等。
CSS 是前端开发中不可或缺的一部分,通常和 HTML 和 JavaScript 一起使用。HTML 负责页面结构,CSS 负责页面样式,JavaScript 则负责交互和动态效果。
2. CSS 的语法结构
CSS 规则的基本结构由 选择器、属性 和 值 三部分组成:
selector { property: value;}- 选择器(Selector):指定要应用样式的 HTML 元素或一组元素。
- 属性(Property):指定样式的种类(例如颜色、大小、字体等)。
- 值(Value):指定该属性的具体值(例如颜色值、尺寸值等)。
示例:
h1 { color: red; /* 设置 h1 元素的文本颜色为红色 */ font-size: 24px; /* 设置字体大小为24像素 */}3. CSS 选择器详解
选择器用于选择 HTML 元素并对其应用样式。以下是 CSS 常用的选择器类型:
3.1 基本选择器
- 类型选择器(Type Selector):通过 HTML 标签名选择元素。
p { color: blue;}- 类选择器(Class Selector):通过类名选择元素。类选择器前缀为
.。
.btn { background-color: green;}- ID 选择器(ID Selector):通过 ID 选择元素。ID 选择器前缀为
#。
#header { background-color: red;}3.2 组合选择器
- 后代选择器(Descendant Selector):选择某元素的后代元素。
div p { color: purple;}- 子元素选择器(Child Selector):选择直接子元素。
ul > li { color: green;}- 相邻兄弟选择器(Adjacent Sibling Selector):选择紧跟在某元素后的元素。
h1 + p { font-weight: bold;}- 通用选择器(Universal Selector):选择所有元素。
* { margin: 0; padding: 0;}- 属性选择器(Attribute Selector):选择具有特定属性的元素。
input[type="text"] { border: 1px solid black;}3.3 伪类选择器(Pseudo-class Selector)
:hover:当元素被鼠标悬停时应用样式。
a:hover { color: red;}:nth-child(n):选择父元素的第n个子元素。
li:nth-child(odd) { background-color: #f0f0f0;}:first-child、:last-child:选择父元素的第一个或最后一个子元素。
p:first-child { color: blue;}:not(selector):选择不符合条件的元素。
div:not(.active) { background-color: gray;}3.4 伪元素选择器(Pseudo-element Selector)
::before:在元素内容前插入内容。
p::before { content: "前缀:";}::after:在元素内容后插入内容。
p::after { content: "后缀";}4. 常见 CSS 属性详解
好的!以下是 CSS 属性和方法的超详细汇总,覆盖所有常用属性以及高级用法,帮助你从基础到进阶全面掌握 CSS。
1. 文本与字体(Text & Font)
1.1 字体
font-family设置字体系列,允许指定多个字体,浏览器会选择第一个可用的字体。
p { font-family: "Arial", sans-serif;}font-size设置字体的大小,常用单位包括px,em,rem,%等。
p { font-size: 16px;}font-weight设置字体的粗细。常用值:normal、bold、lighter、bolder,或者具体数值(100到900)。
p { font-weight: bold;}font-style设置字体样式。常用值:normal、italic、oblique。
p { font-style: italic;}font-variant设置小型大写字母(small-caps)等字体变体。
p { font-variant: small-caps;}line-height设置行高。可以使用数字、em、px等单位,通常设置为字体大小的1.2倍到1.5倍。
p { line-height: 1.5;}letter-spacing设置字母间距,单位可以是px,em,rem等。
p { letter-spacing: 1px;}text-transform设置文本的大小写转换方式。常用值:uppercase、lowercase、capitalize。
p { text-transform: uppercase;}text-align设置文本的水平对齐方式。常用值:left、right、center、justify。
p { text-align: center;}text-decoration设置文本装饰。常用值:underline、line-through、overline。
p { text-decoration: underline;}text-shadow设置文本的阴影效果。
p { text-shadow: 2px 2px 4px rgba(0,0,0,0.3);}2. 背景与图片(Background & Images)
2.1 背景
background-color设置元素的背景颜色。
div { background-color: #f0f0f0;}background-image设置元素的背景图片。
div { background-image: url('image.jpg');}background-size设置背景图片的尺寸。常用值:cover(覆盖)、contain(包含)。
div { background-size: cover;}background-position设置背景图片的位置。可以使用px、%或关键字(如center)。
div { background-position: center center;}background-repeat设置背景图片的重复方式。常用值:no-repeat(不重复)、repeat-x(水平重复)、repeat-y(垂直重复)。
div { background-repeat: no-repeat;}background-attachment设置背景图片的固定或滚动行为。常用值:scroll(滚动)和fixed(固定)。
div { background-attachment: fixed;}background-clip设置背景是否应该扩展到元素的边框区域。
div { background-clip: content-box;}3. 边框与间距(Borders & Spacing)
3.1 边框
border设置元素的所有边框。格式为border: <宽度> <样式> <颜色>。
div { border: 2px solid #000;}border-radius设置元素的圆角,单位可以为px或%。
div { border-radius: 10px;}border-top,border-right,border-bottom,border-left设置元素的单独边框。
div { border-top: 1px solid red;}border-style设置边框的样式,常用值:solid、dashed、dotted、double。
div { border-style: dashed;}border-width设置边框的宽度。
div { border-width: 3px;}border-color设置边框的颜色。
div { border-color: #333;}3.2 内外边距
padding设置元素内容与边框之间的内边距。
div { padding: 10px;}margin设置元素与其他元素之间的外边距。
div { margin: 20px;}margin-top,margin-right,margin-bottom,margin-left设置单独的外边距。
div { margin-top: 10px;}padding-top,padding-right,padding-bottom,padding-left设置单独的内边距。
div { padding-left: 15px;}4. 布局(Layout)
4.1 盒模型
box-sizing设置盒子模型的计算方式。常用值:content-box(默认)、border-box(包括内边距和边框)。
div { box-sizing: border-box;}width,height设置元素的宽度和高度。
div { width: 200px; height: 100px;}4.2 定位
position设置元素的定位方式。常用值:static(默认)、relative、absolute、fixed、sticky。
div { position: relative; top: 10px; left: 20px;}top,right,bottom,left设置元素的定位偏移量。
div { position: absolute; top: 50px; left: 100px;}z-index设置元素的堆叠顺序。值越大,元素越靠前。
div { z-index: 10;}5. Flexbox 布局
5.1 Flexbox 基本属性
display: flex启用弹性布局。
div { display: flex;}flex-direction设置主轴的方向。常用值:row(水平,默认)、column(竖直)、row-reverse、column-reverse。
div { flex-direction: column;}justify-content设置主轴上的对齐方式。常用值:flex-start(默认)、center、space-between、space-around、space-evenly。
div { justify-content: center;}align-items设置交叉轴(垂直方向)上的对齐方式。常用值
:flex-start、center、flex-end、stretch(默认)。
div { align-items: center;}align-self设置单个元素在交叉轴上的对齐方式。
div { align-self: flex-end;}flex-wrap控制元素是否换行。常用值:nowrap(默认,不换行)、wrap(换行)。
div { flex-wrap: wrap;}flex设置项目的伸缩比例,格式为:flex: <flex-grow> <flex-shrink> <flex-basis>。
div { flex: 1;}6. 响应式设计
6.1 媒体查询(Media Queries)
@media根据不同的屏幕尺寸应用不同的样式。
@media (max-width: 768px) { div { background-color: blue; }}7. CSS 动画与过渡
7.1 过渡(Transition)
CSS 过渡允许在特定时间内平滑地从一个样式变化到另一个样式。
div { transition: all 0.3s ease-in-out; /* 所有属性变化,在0.3秒内过渡 */}
div:hover { background-color: #ff6347; /* 悬停时背景颜色变为番茄色 */}7.2 动画(Animation)
CSS 动画可以让元素在多个关键帧之间变化。
@keyframes slide { 0% { transform: translateX(0); } 100% { transform: translateX(100px); }}
div { animation: slide 2s infinite; /* 动画持续2秒,循环播放 */}