【魅力网页的背后】:CSS基础魔法,从零打造视觉盛宴

简介: 【魅力网页的背后】:CSS基础魔法,从零打造视觉盛宴

🚀一、css基础知识 3c247166ee83365f1417806f8701ed04_2fbf27f386f443e289735c0a85557ea3.png

⭐1. 认识css

概念


  • CSS(英文全称:Cascading Style Sheets),层叠样式表。它是网页的装饰者,用来修饰各标签排版(大小、边距、背景、位置等)、改变字体的样式(字体大小、字体颜色、对齐方式等)、设置图片(宽高、位置等)等。
  • CSS以HTML为基础,提供了丰富的功能,如字体、颜色、背景的控制及整体排版等,而且还可以针对不同的浏览器设置不同的样式。
  • CSS可以帮助调整排版布局的展现 美化标签和内容 提高版面的信息密度 加强信息的冲击力和直观性


写在哪

css代码分为内部样式、外部样式、行内样式三种写法。

  • 内部样式
    写在HTML文档的style标签中,style通常放置于头部:
<head>
  <style>
    /*这里写css代码*/
      选择符{
    样式名:样式;
  }
  </style>
</head>
 html部分
  <p id='zixuan'>  我是p标签  </p>
 样式部分
  #zixuan{
    color:red
  }

style标签可以加上type="text/css"这条属性,用于告诉浏览器这里是什么格式的代码,但是在HTML5规范中可以不用写。


  • 外部样式
    单独创建.css后缀的文件,然后通过link标签引入,link通常放置于头部:
<head>
  <link href="CSS文件的路径"  rel="stylesheet">
</head>
  • 行内样式/内联样式

直接写在标签属性中:

<body>
  <p style="css代码">段落文字</p>
  • 三种方式比较
样式表 优点 缺点 使用情况 使用场景
行内样式表 书写方便,权重高 没有实现结构与样式分离,不便于维护,不可以重复利用 极少 某个标签需要单独的样式设置时使用
内部样式表 部分结构与样式分离,较便于维护 没有彻底实现结构与样式分离,不可以重复利用 一般 css代码量不多,且和当前页面联系紧密不需要复用时使用
外部样式表 完全实现结构与样式分离,可重复利用 如果代码量较少情况下,引入法更麻烦 最多,推荐 css代码量大时,或者需要重复利用时使用

如何写

/*选择器{属性:值;属性:值;}*/
p{
    color: red;
    font-size: 20px;
}
/*
规范:
  值以分号结束
  推荐换行书写,可读性更强
  推荐 值 与 : 号之间加空格,可读性更强
*/

🌈二、选择器初级

CSS选择器是用来在HTML文档中定位和选择元素的模式,以便对这些元素应用样式。


1.元素选择器(Element Selector):

直接通过元素名称来选择元素,如 p 会选择所有段落元素。


2.类选择器(Class Selector):

使用.加上类名来选择具有该类的所有元素,如 .my-class 会选中class="my-class"的所有元素。


3.ID选择器(ID Selector):

使用#加上ID名来选择具有该ID的元素,如 #my-id 会选中id="my-id"的元素。ID在文档中应该是唯一的。


4.通配符选择器(Universal Selector):

使用*可以匹配任意元素,如 * 会选择页面上的所有元素。


5.后代选择器(Descendant Selector):

通过空格分隔两个或多个选择器,用于选择某个元素内部的所有特定后代元素,如 div p 会选择所有位于 div 内的 p 元素。


6.子代选择器(Child Selector):

使用>符号连接两个选择器,仅选择作为某元素直接子元素的元素,如 div > p 会选择所有直接嵌套在 div 下的 p 元素。


7.相邻兄弟选择器(Adjacent Sibling Selector):

使用+符号,选择紧接在另一元素后的元素,如 p + ul 会选择所有紧接在段落后面的无序列表。


8.一般兄弟选择器(General Sibling Combinator):

使用~符号,选择某个元素之后的所有特定兄弟元素,如 h1 ~ p 会选择所有跟在 h1 元素后的 p 元素。


9.属性选择器(Attribute Selector):

选择具有特定属性或属性值的元素,如 [type=“text”] 会选择所有type属性为"text"的input元素。


10.伪类选择器(Pseudo-class Selector):

用来选择元素的特定状态,如 a:hover 选择鼠标悬停在链接上的状态。


11.伪元素选择器(Pseudo-element Selector):

用于向文档树中插入特定的元素,如 ::before, ::after 用于在元素内容前后插入内容。


❤️id与class命名

  • id命名唯一,单个标签不允许拥有多个id名,同页面中不存出现重复的id名(id重名会影响js代码获取标签)
  • class命名不唯一,单个标签可以拥有多个class名,不同标签允许使用相同class名
  • 命名规范
  • 允许 大写字母 小写字母 数字 -,必须以字母开头,单词一般小写;
  • 见名知意,不允许单个字母做名字,各命名词汇英文参考:命名词汇 ;
  • 单词之间使用-号连词或者驼峰连词,具体看公司整体规范;
  • 单词不要简写过渡,可以不影响理解的前提下简写。


选择器分类(初级版)

  • id选择器
    eg:#wrap,选中id名为wrap的标签。
  • class选择器
    eg:.nav,选中所有class名为nav的标签。
  • 标签选择器
    eg:p,选中所有p标签。
  • 后代选择器
    eg:#wrap .nav,选中#wrap标签中所有拥有nav类名的后代标签。
  • 通配选择符
    eg:*,选中页面中所有元素


选择器权重

CSS选择器的权重,也称为Specificity,是一个衡量不同选择器优先级的数值系统,它决定了当有多个规则应用到同一个元素上时,哪个规则会最终生效。

/*css代码*/
.info{color: green;}
p{color: red;}
<!--HTML代码-->
<p class="info">段落文字</p>

此时.info和p都选中了这个p标签,并且两者规定了不同的字体颜色,那么最终显示出的颜色就要根据选择器的优先级来决定。


  • !important > 行内 > id > class > 标签 > 通配符|兄弟|相邻兄弟|子代 > 继承
  • 先比较级别,级别一样比较各级别选择器出现的次数
  • 当两个选择器权重一样时,以最后出现的为准

基础知识介绍

CSS中常用的颜色表示法有以下几种:


  1. 颜色关键字(Color Keywords):
    直接使用颜色的英文名称,如 red, blue, green 等。CSS定义了许多预定义的颜色名称,便于记忆和使用。
.example {
  color: red; /* 红色 */
}

使用 # 后跟6位或3位十六进制数字表示颜色。6位表示法中,每两位分别代表红、绿、蓝三原色的强度,范围从00到FF(或简写为0到F)。例如,#FF0000 表示红色,可以简写为 #F00。3位简写形式也是类似的,如 #ABC 等同于 #AABBCC。

.example {
  background-color: #FF0000; /* 红色,完整形式 */
  background-color: #F00;     /* 红色,简写形式 */
}

3.RGB表示法(Red, Green, Blue):

使用 rgb() 函数,内部包含三个介于0到255之间的整数,分别代表红、绿、蓝三种颜色的强度。例如,rgb(255, 0, 0) 表示红色。

.example {
  color: rgb(255, 0, 0); /* 红色 */
}

4.RGBA表示法(Red, Green, Blue, Alpha):

类似于RGB,但增加了一个透明度通道,alpha 值是一个介于0(完全透明)到1(完全不透明)之间的数字。例如,rgba(255, 0, 0, 0.5) 表示半透明的红色。

.example {
  background-color: rgba(255, 0, 0, 0.5); /* 半透明红色 */
}


4.HSL表示法(Hue, Saturation, Lightness):

使用 hsl() 函数,参数分别是色相(Hue,0到360度)、饱和度(Saturation,百分比)和亮度(Lightness,百分比)。例如,hsl(0, 100%, 50%) 表示红色。

.example {
  color: hsl(0, 100%, 50%); /* 红色,Hue为0度(红色),饱和度100%,亮度50% */
}
  1. HSLA表示法(Hue, Saturation, Lightness, Alpha):
    在HSL的基础上增加了透明度通道,使用方法与RGBA类似。例如,hsla(0, 100%, 50%, 0.5) 表示半透明的红色。
.example {
  background-color: hsla(0, 100%, 50%, 0.5); /* 半透明红色 */
}

像素(Pixel),通常缩写为px,是计算机图形和数字图像领域中使用的最基本单位。像素代表了屏幕上显示数据的最基本的点,是构成图像的最小可见元素。每个像素都有自己的颜色值,这些颜色值的集合共同形成了我们看到的图像或图形。


在HTML中,像素(px)是一种常用的长度单位,用来指定元素的宽度、高度、边距、填充等尺寸。虽然像素最初与物理屏幕上的点相对应,但随着高分辨率屏幕的普及,CSS引入了视窗相关单位(如vw, vh, rem等)和分辨率无关单位(如pt, em),以提供更加灵活和响应式的布局设计。然而,像素仍然是最基础且广泛使用的单位之一,特别是在精确控制布局和元素尺寸时。

相关文章
|
4月前
|
前端开发 JavaScript 开发者
探索Web设计新纪元:CSS3的革新特性如何重塑我们的网页视觉体验?
【8月更文挑战第26天】随着Web技术的发展,CSS3为前端开发带来了众多激动人心的新特性,极大提升了网页设计的视觉效果与创意空间。本文通过对比CSS3与CSS2,详细介绍了CSS3在选择器增强、圆角阴影处理、渐变背景应用、转换动画实现、文字效果优化、媒体查询支持及多列布局方面的显著改进,展示了CSS3如何助力开发者打造更具吸引力和互动性的网页体验。
58 1
|
25天前
|
前端开发 UED 开发者
CSS Sprites和图标字体在网页图标加载优化中的应用。CSS Sprites通过合并多图标减少HTTP请求,提升加载速度
本文探讨了CSS Sprites和图标字体在网页图标加载优化中的应用。CSS Sprites通过合并多图标减少HTTP请求,提升加载速度;图标字体则以字体形式呈现图标,便于调整样式。文章分析了两者的优缺点及应用场景,并提供了应用技巧和注意事项,旨在帮助开发者提升页面性能,改善用户体验。
23 5
用CSS+JavaScript打造网页中的选项卡
用CSS+JavaScript打造网页中的选项卡
|
4月前
|
前端开发
简单几行代码CSS实现网页自动打文字效果
简单几行代码CSS实现网页自动打文字效果
60 1
简单几行代码CSS实现网页自动打文字效果
|
3月前
|
Web App开发 前端开发 JavaScript
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
|
3月前
|
JavaScript 前端开发
网页前端课程设计-【模仿】香港中文大学官网,轮播图及div+css布局,js的dom操作
这篇文章介绍了如何模仿香港中文大学官网进行网页前端课程设计,包括使用div+css布局、js的DOM操作以及实现轮播图等技术细节。
|
4月前
|
编解码 前端开发 开发者
【前端设计达人必备】揭秘CSS尺寸单位的魔力:从基础到实战,打造灵动响应式网页!
【8月更文挑战第26天】本文深入探讨了CSS中常用的尺寸单位,包括像素(px)、百分比(%)、视窗单位(vw/vh/vmin/vmax)、可伸缩相对单位(em/rem)以及Flexbox和Grid中的fr单位。通过具体案例展示了每种单位的特点及其适用场景。像素适用于固定尺寸元素;百分比和em/rem利于构建响应式布局;视窗单位适合全屏设计;fr单位则能有效管理复杂网格布局的空间分配。掌握这些单位有助于开发者设计出更加灵活、高质量的网页布局。
61 4
|
4月前
|
前端开发 开发者
CSS样式覆盖规则详解,让你的网页更加出彩!
【8月更文挑战第23天】在Web前端开发中,理解CSS样式覆盖规则至关重要。当多个样式规则作用于同一元素时,哪些规则生效?本文通过实例解析这些规则。简单案例中,`.error`类选择器优先级高于`p`标签,文字显示红色。复杂案例涉及`.important`类与`!important`关键字,此时文字变为绿色。另外,内联样式拥有比外部样式更高的优先级。掌握这些原则有助于开发者高效管理样式。
102 0
|
4月前
|
前端开发 数据安全/隐私保护 开发者
热门聚焦!Web 前端 CSS 选择器 —— 解锁精美网页的密码,触动开发者心灵深处!
【8月更文挑战第23天】CSS 选择器是 Web 前端设计中的关键工具,用于精准定位和美化页面元素。主要包括:直观的元素选择器(如 `p`),灵活的类选择器(如 `.my-class`),唯一的 ID 选择器(如 `#unique-div`),以及可根据属性选择的属性选择器(如 `a[title]`)。此外,后代选择器(如 `div p`)、子选择器(如 `ul &gt; li`)和相邻兄弟选择器(如 `h1 + p`)可用于更复杂的选择。通用选择器(如 `*`)则适用于所有元素。通过组合这些选择器,开发者能够创建出既复杂又美观的网页样式,提升用户体验。
41 0
|
4月前
|
前端开发
一键复制微信聊天框效果:HTML+CSS让网页聊天更生动!
一键复制微信聊天框效果:HTML+CSS让网页聊天更生动!