css知识点

基础概念

  • 定义:CSS 是用于描述 HTML 或 XML(包括 SVG、XHTML 等)文档的呈现,即如何将网页元素显示在屏幕、纸张或其他媒体上。
  • 作用:实现内容(HTML)与表现(CSS)分离,使网页的设计和维护更加方便,同时能提高网页加载速度。
  • 引入方式
    • 内联样式 :直接在 HTML 标签的 style 属性中添加 CSS 代码,如 <p style="color: red;">这是一个段落</p>

    • 内部样式表 :在 HTML 文件的 <head> 标签内使用 <style> 标签定义 CSS 代码,如

      <head> <style> p { color: blue; } </style> </head>
      • 外部样式表:将 CSS 代码保存为一个独立的 .css 文件,然后在 HTML 文件的 <head> 标签中使用 <link> 标签引入,如 <link rel="stylesheet" href="styles.css">

选择器

  • 元素选择器 :通过 HTML 元素名称来选择元素,如 p { color: green; } 会选择所有的 <p> 标签。
  • 类选择器 :使用 . 符号开头,通过元素的 class 属性来选择元素,如 .highlight { background-color: yellow; },HTML 中 <span class="highlight">高亮文本</span> 会应用该样式。
  • ID 选择器 :使用 # 符号开头,通过元素的 id 属性来选择元素,如 #header { font-size: 24px; },HTML 中 <div id="header">页面头部</div> 会应用该样式。
  • 属性选择器 :根据元素的属性或属性值来选择元素,如 input[type="text"] { border: 1px solid gray; } 会选择所有 type 属性为 text<input> 元素。
  • 组合选择器
    • 后代选择器 :使用空格分隔,如 div p { color: purple; } 会选择 <div> 元素内的所有 <p> 元素。
    • 子选择器 :使用 > 符号分隔,如 div > p { color: orange; } 会选择 <div> 元素的直接子元素 <p>
    • 相邻兄弟选择器 :使用 + 符号分隔,如 h1 + p { margin-top: 10px; } 会选择紧接在 <h1> 元素之后的 <p> 元素。
    • 通用兄弟选择器 :使用 ~ 符号分隔,如 h2 ~ p { color: brown; } 会选择与 <h2> 元素同属一个父元素的所有后续 <p> 元素。

盒模型

  • 内容区(content):元素实际显示的内容,如文本、图像等。
  • 内边距(padding) :内容区与边框之间的距离,可以使用 padding-toppadding-rightpadding-bottompadding-left 分别设置四个方向的内边距,也可以使用 padding 一次性设置,如 padding: 10px; 表示四个方向都是 10px。
  • 边框(border) :围绕内容区和内边距的线条,可以使用 border-widthborder-styleborder-color 分别设置边框的宽度、样式和颜色,也可以使用 border 一次性设置,如 border: 1px solid black;
  • 外边距(margin) :元素与其他元素之间的距离,使用方法与内边距类似,如 margin: 20px; 表示四个方向的外边距都是 20px。

布局

  • 浮动(float) :使元素脱离正常文档流,向左或向右浮动,其他元素会围绕它排列。常用值有 leftrightnone,如 img { float: left; } 会使图片向左浮动。
  • 清除浮动(clear) :用于解决浮动元素导致的父元素高度塌陷问题,常用值有 leftrightbothnone,如 <div style="clear: both;"></div> 可以清除左右两侧的浮动。
  • 定位(position)
    • 静态定位(static):元素的默认定位方式,按照正常文档流进行布局。
    • 相对定位(relative) :元素相对于其正常位置进行定位,使用 toprightbottomleft 属性来设置偏移量,如 div { position: relative; top: 20px; left: 30px; }
    • 绝对定位(absolute) :元素相对于最近的已定位祖先元素进行定位,如果没有已定位的祖先元素,则相对于 <html> 元素,同样使用 toprightbottomleft 属性。
    • 固定定位(fixed):元素相对于浏览器窗口进行定位,即使页面滚动,元素的位置也不会改变。
    • 粘性定位(sticky) :元素在正常文档流中滚动,当滚动到某个位置时固定在页面上,如 nav { position: sticky; top: 0; } 会使导航栏在滚动到顶部时固定。
  • 弹性布局(Flexbox) :用于为盒状模型提供最大的灵活性,通过 display: flexdisplay: inline-flex 将元素设置为弹性容器,然后使用一系列属性来控制子元素的布局,如 justify-content 控制主轴上的对齐方式,align-items 控制交叉轴上的对齐方式。
  • 网格布局(Grid) :将网页划分为多个列和行,通过 display: griddisplay: inline-grid 将元素设置为网格容器,使用 grid-template-columnsgrid-template-rows 定义网格的列和行,使用 grid-columngrid-row 来定位子元素。

文本和字体

  • 字体属性
    • font-family:指定文本的字体,如 font-family: Arial, sans-serif;
    • font-size:指定文本的大小,如 font-size: 16px;
    • font-weight:指定文本的粗细,如 font-weight: bold;
    • font-style:指定文本的样式,如 font-style: italic;
  • 文本属性
    • color:指定文本的颜色,如 color: #333;
    • text-align:指定文本的对齐方式,如 text-align: center;
    • text-decoration:指定文本的装饰线,如 text-decoration: underline;
    • line-height:指定文本的行高,如 line-height: 1.5;

背景和边框

  • 背景属性
    • background-color:指定元素的背景颜色,如 background-color: lightblue;
    • background-image:指定元素的背景图像,如 background-image: url('bg.jpg');
    • background-repeat:指定背景图像的重复方式,如 background-repeat: no-repeat;
    • background-position:指定背景图像的位置,如 background-position: center top;
  • 边框属性
    • 除了前面提到的 border 属性,还可以使用 border-radius 来设置边框的圆角,如 border-radius: 5px;

响应式设计

  • 媒体查询(Media Queries):根据设备的屏幕尺寸、分辨率等条件来应用不同的 CSS 样式,如

    @media screen and (max-width: 768px) {
    body {
    font-size: 14px;
    }
    }

  • 弹性布局和网格布局:它们本身就具有一定的响应式特性,能够根据容器的大小自动调整子元素的布局。

  • 百分比和相对单位 :使用百分比、emrem 等相对单位来设置元素的尺寸,使页面在不同设备上能够自适应。

动画和过渡

  • 过渡(transition) :用于在元素的两个状态之间平滑过渡,通过 transition 属性指定过渡的属性、过渡时间、过渡延迟等,如

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

  • 动画(animation) :通过 @keyframes 规则定义动画,然后使用 animation 属性将动画应用到元素上,如

    @keyframes slide {
    from {
    transform: translateX(0);
    }
    to {
    transform: translateX(100px);
    }
    }
    div {
    animation: slide 2s infinite;
    }

总结

CSS 是网页设计中不可或缺的一部分,它提供了丰富的功能来控制网页的外观和布局。通过选择器可以精确地选择要应用样式的元素,盒模型、布局和定位属性可以实现各种复杂的页面布局,文本和字体属性可以美化文本内容,背景和边框属性可以增强元素的视觉效果。响应式设计可以使网页在不同设备上都能提供良好的用户体验,而动画和过渡则可以为网页增添交互性和趣味性。掌握这些知识点,并不断实践和探索,才能更好地运用 CSS 来创建出美观、实用的网页。

相关推荐
juruiyuan1111 小时前
FFmpeg3.4 libavcodec协议框架增加新的decode协议
前端
读心悦1 小时前
CSS结构性伪类、UI伪类与动态伪类全解析:从文档结构到交互状态的精准选择
css·ui·交互
Peter 谭2 小时前
React Hooks 实现原理深度解析:从基础到源码级理解
前端·javascript·react.js·前端框架·ecmascript
LuckyLay3 小时前
React百日学习计划——Deepseek版
前端·学习·react.js
gxn_mmf3 小时前
典籍知识问答重新生成和消息修改Bug修改
前端·bug
hj10433 小时前
【fastadmin开发实战】在前端页面中使用bootstraptable以及表格中实现文件上传
前端
乌夷3 小时前
axios结合AbortController取消文件上传
开发语言·前端·javascript
晓晓莺歌4 小时前
图片的require问题
前端
码农黛兮_464 小时前
CSS3 基础知识、原理及与CSS的区别
前端·css·css3
水银嘻嘻5 小时前
web 自动化之 Unittest 四大组件
运维·前端·自动化