CSS基础知识汇总

目录

  • CSS 基础知识
    • 1. CSS 的基本结构
    • 2. 选择器
    • 3. 常用 CSS 属性
    • 4. CSS 单位
    • 5. CSS 盒模型
  • 总结

学习 CSS(Cascading Style Sheets)是前端开发的重要部分,它用于控制网页的样式和布局。以下是学习 CSS 过程中需要掌握的基本概念、符号和对应的意义。
在这里插入图片描述

CSS 基础知识

1. CSS 的基本结构

CSS 规则由选择器和声明块组成,基本结构如下:

selector {property: value;/* more properties and values */
}
  • 选择器(selector):指定要应用样式的 HTML 元素。
  • 声明块(declaration block):包含一个或多个声明,每个声明由属性和值组成。

2. 选择器

  • 基础选择器

    • 元素选择器:选择所有指定的 HTML 元素。例如,p { color: red; } 选择所有 <p> 元素。
    • 类选择器:选择所有指定类名的元素,使用 . 表示。例如,.className { color: blue; } 选择所有类名为 className 的元素。
    • ID 选择器:选择具有指定 ID 的元素,使用 # 表示。例如,#idName { color: green; } 选择 ID 为 idName 的元素。
  • 组合选择器

    • 后代选择器:选择某个元素内的所有指定元素,使用空格分隔。例如,div p { color: yellow; } 选择所有在 <div> 内的 <p> 元素。
    • 子选择器:选择某个元素的直接子元素,使用 > 分隔。例如,ul > li { color: purple; } 选择所有 <ul> 的直接子元素 <li>
    • 相邻兄弟选择器:选择紧接在某元素后的指定元素,使用 + 分隔。例如,h1 + p { color: orange; } 选择紧接在 <h1> 后的第一个 <p> 元素。
    • 通用兄弟选择器:选择某元素后面的所有指定元素,使用 ~ 分隔。例如,h1 ~ p { color: pink; } 选择 <h1> 后的所有 <p> 元素。
  • 伪类和伪元素选择器

    • 伪类选择器:选择特定状态的元素。例如,:hover 选择鼠标悬停状态的元素,:first-child 选择父元素的第一个子元素。
    • 伪元素选择器:选择元素的特定部分。例如,::before::after 用于在元素内容的前后插入内容。

3. 常用 CSS 属性

  • 文本样式

    • color:设置文本颜色。
    • font-size:设置文本大小。
    • font-family:设置字体系列。
    • font-weight:设置字体粗细。
    • text-align:设置文本对齐方式。
    • text-decoration:设置文本装饰(如下划线)。
    • line-height:设置行高。
  • 背景样式

    • background-color:设置背景颜色。
    • background-image:设置背景图片。
    • background-repeat:设置背景图片是否重复。
    • background-position:设置背景图片的位置。
    • background-size:设置背景图片的大小。
  • 边框和间距

    • border:设置边框,包括宽度、样式和颜色。
    • margin:设置元素外边距。
    • padding:设置元素内边距。
  • 布局

    • display:设置元素的显示类型(如 blockinlineinline-blockflex)。
    • position:设置元素的定位类型(如 staticrelativeabsolutefixed)。
    • toprightbottomleft:设置定位元素的偏移。
    • z-index:设置元素的堆叠顺序。
  • 尺寸

    • width:设置元素的宽度。
    • height:设置元素的高度。
    • max-width:设置元素的最大宽度。
    • max-height:设置元素的最大高度。
    • min-width:设置元素的最小宽度。
    • min-height:设置元素的最小高度。
  • 灵活盒子布局(Flexbox)

    • display: flex:将元素变为 flex 容器。
    • flex-direction:设置主轴方向(如 rowcolumn)。
    • justify-content:设置主轴上的对齐方式(如 flex-startcenterspace-between)。
    • align-items:设置交叉轴上的对齐方式(如 flex-startcenter)。
    • flex-wrap:设置是否换行(如 nowrapwrap)。
  • 网格布局(Grid)

    • display: grid:将元素变为 grid 容器。
    • grid-template-columns:定义列结构。
    • grid-template-rows:定义行结构。
    • grid-gap:设置网格间距。
  • 过渡与动画

    • transition:设置过渡效果。
    • animation:定义动画,包括名称、持续时间、计时函数等。

4. CSS 单位

  • 绝对单位

    • px(像素):常用的单位,适用于大多数情况。
    • cm(厘米)、mm(毫米):适用于打印媒体。
    • in(英寸)、pt(磅)、pc(派卡):适用于打印媒体。
  • 相对单位

    • %(百分比):相对于父元素的尺寸。
    • em:相对于元素的字体大小。
    • rem:相对于根元素(<html>)的字体大小。
    • vw(视口宽度)、vh(视口高度):相对于视口的百分比。
    • vminvmax:相对于视口较小或较大的那一个百分比。

5. CSS 盒模型

  • 内容区(Content Box):包含实际内容的区域。
  • 内边距(Padding):内容区和边框之间的空间。
  • 边框(Border):包围内容和内边距的边缘。
  • 外边距(Margin):边框和相邻元素之间的空间。

总结

在这里插入图片描述

掌握 CSS 是前端开发的重要环节。通过理解选择器、属性、单位、盒模型以及布局技术,我们就可以创建出具有良好视觉效果和用户体验的网页。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/849610.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue08-数据代理

一、Object.defineProperty() Object.defineProperty() 是 JavaScript 中的一个方法&#xff0c;用于直接在一个对象上定义一个新属性&#xff0c;或者修改一个对象的现有属性&#xff0c;并返回这个对象。 这个方法允许你精确地控制一个对象的属性&#xff0c;包括它的值、是…

数据库存储过程和锁机制

存储过程 存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的&#xff0c;存储过程思想上很简单,就是数据库SQL语言层面的代码封装与有重用 …

Flutter开发效率提升1000%,Flutter Quick教程之对Widget进行删除,剪切,粘贴

一&#xff0c;删除操作 1&#xff0c;首先我们选中要删除的Widget。 2&#xff0c;在左边的侧边栏&#xff0c;点击删除按钮&#xff0c;即可完成对组件的删除操作。 二&#xff0c;剪切。剪切是相同的道理&#xff0c;都是先选中&#xff0c;再点击对应的按钮。 1&#xff…

javaWeb4 Maven

Maven-管理和构建java项目的工具 基于POM的概念 1.依赖管理&#xff1a;管理项目依赖的jar包 &#xff0c;避免版本冲突 2.统一项目结构&#xff1a;比如统一eclipse IDEA等开发工具 3.项目构建&#xff1a;标准跨平台的自动化项目构建方式。有标准构建流程&#xff0c;能快速…

java 原生http服务器 测试JS前端ajax访问实现跨域传post数据

后端 java eclipse 字节流转字符 package Httpv3;import com.sun.net.httpserver.Headers; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; import com.sun.net.httpserver.HttpServer;import java.io.IOException; import java.i…

【全开源】JAVA打车小程序APP打车顺风车滴滴车跑腿源码微信小程序打车源码

&#xff1a;构建便捷出行新体验 一、引言&#xff1a;探索打车系统小程序源码的重要性 在数字化快速发展的今天&#xff0c;打车系统小程序已成为我们日常生活中不可或缺的一部分。它以其便捷、高效的特点&#xff0c;极大地改变了我们的出行方式。而背后的关键&#xff0c;…

KOL+UGC:解锁品牌内容营销新策略,增强用户参与与互动

在当今数字化时代&#xff0c;品牌与受众之间的互动性和参与感变得至关重要。其中&#xff0c;KOL和UGC&#xff08;用户生成内容&#xff09;的结合&#xff0c;为品牌创造了一种全新的内容创作模式。这种模式不仅增强了内容的吸引力&#xff0c;还极大地提升了品牌与受众之间…

win键盘键位映射:欧版键盘->国内布局|是否应该买国外版笔记本?

最近买了个欧版笔记本电脑&#xff0c;键盘是欧版键盘&#xff1a; 键盘上的按钮实体和国内不完全一样键盘按钮上印的字母符号和国内不完全一样 具体差异 如图&#xff1a; shift处欧版是两个按键。可通过键盘键位映射解决。回车Enter、| 、布局不同。非常别扭&#xff0c;…

跨境反向海淘系统:业务流程解析与未来发展展望

随着全球化的深入发展和互联网技术的飞速进步&#xff0c;跨境购物已经成为越来越多消费者日常生活中的一部分。在这个过程中&#xff0c;反向海淘系统以其独特的优势&#xff0c;逐渐崭露头角&#xff0c;成为跨境电商领域的新星。作为一名在跨境反向海淘系统业务中耕耘了10年…

编写程序,提示用户输入以米/秒(m/s)为单位的速度v和以米/秒的平方(m/s)为单位的加速度 a,然后显示最短跑道长度。

(物理:求出跑道长度)假设一个飞机的加速度是a而起飞速度是v&#xff0c;那么可以使用下 面的公式计算出飞机起飞所需的最短跑道长度: 编写程序&#xff0c;提示用户输入以米/秒(m/s)为单位的速度v和以米/秒的平方(m/s)为单 位的加速度 a&#xff0c;然后显示最短跑道长度。下面…

LCM — Least Common Multiple 最小公倍数

因为任何一个数都可以表示为若干个质数幂的乘积。 比如75 3*5*5&#xff0c;即 2^0 * 3^1 * 5^2 * 7^0 ... 那么对于两个数来说&#xff0c;gcd就是他们取每个质数的较小幂的乘积&#xff0c;lcm则相反。显然&#xff0c;这些幂加起来就是他们乘积。 gcd(a,b) * lcm(a,b) a…

CorelDRAW2024发布更新啦!设计师们的得力助手

在数字化的今天&#xff0c;视觉设计已经成为我们生活中不可或缺的一部分。从手机界面到广告海报&#xff0c;从网页布局到包装设计&#xff0c;每一个细节都离不开设计师们的专业与创意。然而&#xff0c;面对日益增长的设计需求和不断提升的审美标准&#xff0c;许多设计师开…

【算法专题--栈】最小栈--高频面试题(图文详解,小白一看就会!!)

目录 一、前言 二、题目描述 三、解题方法 ⭐解题方法--1 ⭐解题方法--2 四、总结 五、共勉 一、前言 最小栈这道题&#xff0c;可以说是--栈专题--&#xff0c;比较经典的一道题&#xff0c;也是在面试中频率较高的一道题目&#xff0c;通常在面试中&#xff0c;面试官可…

OpenAI发布GPT-4思维破解新策略,Ilya亦有贡献!

OpenAI正在研究如何破解GPT-4的思维&#xff0c;并公开了超级对齐团队的工作&#xff0c;Ilya Sutskever也在作者名单中。 论文地址&#xff1a;https://cdn.openai.com/papers/sparse-autoencoders.pdf 代码&#xff1a;https://github.com/openai/sparse_autoencoder 特征可…

【Unity游戏制作】地精寻宝Gnome‘s Well That Ends Well卷轴动作游戏【一】场景搭建

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 专栏交流&#x1f9e7;&…

Redisson分布式锁原理解析

前言 首先Redis执行命令是单线程的&#xff0c;所以可以利用Redis实现分布式锁&#xff0c;而对于Redis单线程的问题&#xff0c;是其线程模型的问题&#xff0c;本篇重点是对目前流行的工具Redisson怎么去实现的分布式锁进行深入理解&#xff1b;开始之前&#xff0c;我们可以…

什么情况下要配置DNS服务

什么是DNS 一、DNS就是域名解析 我们上网的方式通常都由ip地址组成&#xff0c;但是为了有个规范&#xff0c;而且我们也不可能去记住那么多一串Ip数字&#xff0c;首先域名就会比ip好记很多&#xff0c;其次固定性&#xff0c;一旦服务器换了&#xff0c;只要重新绑定域名对…

Mac - Node/Java 配置安装全流程

Mac - Node/Java 配置安装全流程 一. Git 安装二. Java 相关安装2.1 jenv 版本控制工具2.2 JDK1.8 和 JDK21的安装2.3 maven 安装 三. Node 相关安装3.1 nvm 版本控制工具3.2 Node 版本安装 一. Git 安装 1.我们首先安装一下Homebrew&#xff0c;这个工具很有用&#xff0c;能…

LLM的基础模型7:Positional Encoding

大模型技术论文不断&#xff0c;每个月总会新增上千篇。本专栏精选论文重点解读&#xff0c;主题还是围绕着行业实践和工程量产。若在某个环节出现卡点&#xff0c;可以回到大模型必备腔调或者LLM背后的基础模型新阅读。而最新科技&#xff08;Mamba,xLSTM,KAN&#xff09;则提…

单列集合.java

单列集合 为了存储不同类型的多个对象&#xff0c;Java提供了一些特殊系列的类&#xff0c;这些类可以存储任意类型的对象&#xff0c;并且存储的长度可变&#xff0c;这些类统称为集合。可以简单的理解为一个长度可变&#xff0c;可以存储不同数据类型的动态数组。集合都位于j…