百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

css初识

myzbx 2025-01-16 20:14 25 浏览

1、初识CSS3

本章目标:

  • 会使用行内样式、内部样式表和外部样式表三种方式为HTML5文档添加CSS样式
  • 会使用CSS3的基本选择器设置字体大小和颜色
  • 会使用复合选择器为特定的网页元素添加CSS样式
  • 会使用CSS3高级选择器为网页元素添加CSS样式

1.1、什么是CSS

Cascading Style Sheet 级联样式表。 表现HTML或XHTML文件样式的计算机语言。 包括对字体、颜色、边距、高度、宽度、背景图片、网页定位等设定

在这里插入图片描述

说明:

  • 首先介绍什么是CSS
  • 然后对比讲解使用CSS和没有使用CSS的两个相同的HTML代码页面显示效果,说明CSS的重要性
  • 最后根据图说明CSS在网页中的应用

1.2、CSS的发展史

在这里插入图片描述


CSS1.0 读者可以从其他地方去使用自己喜欢的设计样式去继承性地使用样式;

CSS2.0 融入了DIV+CSS的概念,提出了HTML结构与CSS样式表的分离

CSS2.1 融入了更多高级的用法,如浮动,定位等。

CSS3.0 它包括了CSS2.1下的所有功能,是目前最新的版本,它向着模块化的趋势发展,又加了很多使用的新技术,如字体、多背景、圆角、阴影、动画等高级属性,但是它需要高级浏览器的支持。

由于现在IE 6、IE 7使用比例已经很少,对市场企业进行调研发现使用CSS3的频率大幅增加,学习CSS3已经成为一种趋势,因此本书会讲解最新的CSS3版本

本课程中主要讲解css2.1和css3

CSS的优势


  • 内容与表现分离
  • 网页的表现统一,容易修改
  • 丰富的样式,使得页面布局更加灵活
  • 减少网页的代码量,增加网页的浏览速度,节省网络带宽
  • 运用独立于页面的CSS,有利于网页被搜索引擎收录

1.3、CSS的基本语法

  • 首先讲解CSS的基本语法结构,由选择器和声明构成
  • 然后对照具体的样式详细讲解语法,强调声明必须在 { }
  • 最后说明基本W3C的规范,每条声明后的 ; 都要写上

在这里插入图片描述

Style标签

  • 讲解CSS样式如何在HTML中应用,引入style标签的应用
  • 讲解style标签,说明type=“text/css的用法
  • 说明style标签在HTML文档中的位置,在与之间

在这里插入图片描述

1.4、引入CSS方式

  • 行内样式 使用style属性引入CSS样式 <h1 style="color:red;">style属性的应用</h1> <p style="font-size:14px; color:green;">直接在HTML标签中设置的样式</p> 使用style属性设置CSS样式仅对当前的HTML标签起作为,并且是写在HTML标签中的 这种方式不能起到内容与表现相分离,本质上没有体现出CSS的优势,因此不推荐使用。
  • 内部样式表 CSS代码写在 <head><style> 标签中 <style> h1{color: green; } </style> 优点:方便在同页面中修改样式 缺点:不利于在多页面间共享复用代码及维护,对内容与样式的分离也不够彻底 引出外部样式表
  • 外部样式表 CSS代码保存在扩展名为.css的样式表中 HTML文件引用扩展名为.css的样式表,有两种方式
  • 链接式(使用的最多,记住这个就可以了) 使用 标签链接外部样式表,并讲解各参数的含义, 标签必须放在 标签中

在这里插入图片描述


  • 导入式 使用@import导入外部样式表

在这里插入图片描述



链接式与导入式的区别

  1. 标签是属于XHTML范畴的,@import是属于CSS2.1中特有的。
  2. 使用 链接的CSS是客户端浏览网页时先将外部CSS文件加载到网页当中,然后再进行编译显示,所以这种情况下显示出来的网页与用户预期的效果一样,即使网速再慢也一样的效果。
  3. 使用@import导入的CSS文件,客户端在浏览网页时是先将HTML结构呈现出来,再把外部CSS文件加载到网页当中,当然最终的效果也与使用 链接文件效果一样,只是当网速较慢时会先显示没有CSS统一布局的HTML网页,这样就会给用户很不好的感觉。这个也是现在目前大多少网站采用链接外部样式表的主要原因。
  4. 由于@import是属于CSS2.1中特有的,因此对于不兼容CSS2.1的浏览器来说就是无效的。

CSS样式优先级

行内样式>内部样式表>外部样式表
就近原则:越接近标签的样式优先级越高

【学员练习】 使用标题标签和段落标签制作李白的诗《望庐山瀑布》,诗正文字体颜色为绿色,字体大小为14p

在这里插入图片描述

1.5、CSS基本选择器

  • 标签选择器 HTML标签作为标签选择器的名称 <h1>…<h6>、<p>、<img/>

在这里插入图片描述

  • 类选择器 一些特殊的实现效果,单纯使用标签选择器不能实现,从而引出类选择器

在这里插入图片描述

  • ID选择器 ID选择器的名称就是HTML中标签的ID名称,ID全局唯一

在这里插入图片描述


小结

  • 标签选择器直接应用于HTML标签
  • 类选择器可在页面中多次使用
  • ID选择器在同一个页面中只能使用一次

基本选择器的优先级

ID选择器>类选择器>标签选择

标签选择器是否也遵循“就近原则”? 不遵循,无论是哪种方式引入CSS样式,一般都遵循ID选择器 > class类选择器 > 标签选择器的优先级

1.6、CSS高级选择器

1、层次选择器

在这里插入图片描述

  • 后代选择器 body p{ background: red; }

在这里插入图片描述

后代选择器两个选择符之间必须要以空格隔开,中间不能有任何其他的符号插入

  • 子选择器 body>p{ background: pink; }

在这里插入图片描述


  • 相邻兄弟选择器 .active+p { background: green; }

在这里插入图片描述


  • 通用兄弟选择器 .active~p{ background: yellow; }

添加图片注释,不超过 140 字(可选)

2、结构伪类选择器

在这里插入图片描述

<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>使用CSS3结构伪类选择器</title>
</head>
<body>
    <p>p1</p>
    <p>p2</p>
    <p>p3</p>
    <ul>
        <li>li1</li>
        <li>li2</li>
        <li>li3</li>
    </ul>
</body>
</html>

标红的重点强调下,其他的可以略讲

在这里插入图片描述

ul li:first-child{ background: red;}
ul li:last-child{ background: green;}
p:nth-child(1){ background: yellow;}
p:nth-of-type(2){ background: blue;}

在这里插入图片描述


小结


  • 使用E F:nth-child(n)和E F:nth-of-type(n)的 关键点
  • E F:nth-child(n)在父级里从一个元素开始查找,不分类型
  • E F:nth-of-type(n)在父级里先看类型,再看位置


3、属性选择器

在这里插入图片描述


E[attr]属性选择器


a[id] {
    background: yellow;
}

在这里插入图片描述


E[attr=val]属性选择器


a[id=first] {
    background: red;
}

在这里插入图片描述


E[attr*=val]属性选择器


a[class*=links] {
    background: red;
}

在这里插入图片描述


E[attr^=val]属性选择器


a[href^=http] {
    background: red;
}

在这里插入图片描述


E[attr$=val]属性选择器


a[href$=png] {
    background: red;
}

在这里插入图片描述

1.7、小结

添加图片注释,不超过 140 字(可选)

相关推荐

vue 基础-组件中事件的触发和监听

前言《vue基础》系列是再次回炉vue记的笔记,除了官网那部分知识点外,还会加入自己的一些理解。(里面会有部分和官网相同的文案,有经验的同学择感兴趣的阅读)vue中单纯的事件调用,你一定不陌生...

JMH基准测试和JMH-Visual-chart可视化

原文地址:https://github.com/Sayi/sayi.github.com/issues/68如何度量一段代码的性能,换种实现方式会有更佳的性能表现吗?你或许想知道fastjson是否正...

一文轻松看懂丰田汽车的电路图(丰田车电路图识读技巧)

丰田汽车电路图符号、含义丰田汽车电路图识读说明电路图中字母是注释标号,其各部分的含义如下:注释标号A:表示系统标题,在电路图上方用横线划分,区域内用文字和系统符号表示下方电路系统的名称。注释标号B:表...

杭州高级中学发文言文版校庆公告引热议——全文932字,74处注释

阅读提示校方回应:我们期待以这种‘复古’的方式引起公众注意,也算是为树立起大众的文化自信、唤起大众对传统文化的关注作出一点贡献。5月14日,杭州高级中学官方微信发布了一篇文言文版的校庆公告。几个小...

Python 和 JS 有什么相似?(python和js哪个快)

Python是一门运用很广泛的语言,自动化脚本、爬虫,甚至在深度学习领域也都有Python的身影。作为一名前端开发者,也了解ES6中的很多特性借鉴自Python(比如默认参数、解构赋值、...

阿里卖家 Flutter for Web 工程实践

作者:马坤乐(坤吾)Flutter自2015年初次亮相以来,经过了多年的发展已经相当成熟,在阿里、美团、拼多多等互联网公司都有广泛的应用。在ICBU阿里卖家上90+%的新业务使用Flu...

诗经275思文押韵、注释、古音、今韵

诗经275-1思文押韵(备注:□=非韵、■=i韵、●=o/u韵、◆=ng韵、=i/o二象性)「」1.思文后稷,克配彼天。立我烝民,莫菲尔极。贻我来牟,帝命率育。无此疆尔界,陈常于时夏。□□□■,...

SolidWorks中常用命令快捷键(solidworks有哪些快捷键)

1.A:中心线2.B:镜向3.C:画圆4.D:智能标柱尺寸5.E:删除6.F:草图倒圆角7.G:画直线8.H:从装配制作工程9.I:等距实体10.J:从装配制作装配11.K:多边形12.L:延伸13....

第一章、TS语言简介(tsl语言)

TypeScript(简称TS)是微软公司开发的一种基于JavaScript(简称JS)语言的编程语言。它的目的并不是创造一种全新语言,而是增强JavaScript的功能,使其更适合多人合...

为什么要用JMH?何时应该用?(日本jmh地面分析图网站)

if快还是switch快?HashMap的初始化size要不要指定,指定之后性能可以提高多少?各种序列化方法哪个耗时更短?无论出自何种原因需要进行性能评估,量化指标总是必要的。在大部分场合...

雅虎“YSlow - 23 条规则”详尽阐释

以下乃是雅虎“YSlow-23条规则”的详尽阐释,旨在优化网页之性能以及用户之体验,乃是结合技术之原理与实践之方法梳理而成:1.减少HTTP请求次数说明:每一次HTTP请求皆会增添延迟...

JavaScript 运算符(js ~运算符)

JavaScript运算符JS变量JS算数JavaScript运算符实例向变量赋值,并把它们相加:varx=7;//向x赋值5vary=8;//向y赋值2...

在Notebook中使用Sublime Text 快捷键

编程派微信号:codingpy前几天,我在公众号上发布了两篇译文,对JupyterNotebook做了一些基础性的介绍。虽然说比较基础,而且第二篇阅读量并不高,但是我认为对于其他对于Noteb...

晨光静好时!2 道 JS 与 TS 面试题解析,开启惬意学习日

当第一缕晨光温柔地唤醒窗台的绿植,泡上一杯清香四溢的茉莉花茶,坐在洒满阳光的角落。此刻,放下对面试的焦虑,让我们像聊生活趣事般,轻松拆解两道JavaScript和TypeScript的高频面试...

2024年CSPJ题目解析,语法基本功&gt;算法!

前言:每次有家长来找我们咨询报课,说孩子学了一年了,竞赛成绩不理想,问怎么才能强化,提升,我们经过一番询问,发现这类孩子普遍都是在算法上已经花了非常多的时间了,但是语法根本不过关。对这种孩子我们普遍建...