CSS3样式

简介: CSS3样式

1.css的概念

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

2.CSS的优势

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

3.CSS基本语法结构

image.png

4.style标签

image.png

5.HTML中引入CSS样式

行内样式内部样式表外部样式表

6.行内样式

使用style属性引入CSS样式

image.png

7.内部样式表

CSS代码写在<head><style>标签中<style>h1{color: green; }
</style>

优点

方便在同页面中修改样式

缺点

不利于在多页面间共享复用代码及维护,对内容与样式的分离也不够彻底

8.外部样式表

CSS代码保存在扩展名为.css的样式表中HTML文件引用扩展名为.css的样式表,有两种方式:链接式;
导入式

1.链接外部样式表

image.png

2.导入外部样式表

image.png

9.链接式与导入式的区别

<link/>标签属于XHTML,@import是属于CSS2.1使用<link/>链接的CSS文件先加载到网页当中,再进行编译显示使用@import导入的CSS文件,客户端显示HTML结构,再把CSS文件加载到网页当中@import是属于CSS2.1特有的,对不兼容CSS2.1的浏览器是无效的

10.CSS样式优先级

行内样式>内部样式表>外部样式表 就近原则          

11.CSS3基本选择器

标签选择器

类选择器

ID选择器              


标签选择器直接应用于HTML标签

类选择器可在页面中多次使用

ID选择器在同一个页面中只能使用一次

1.标签选择器

image.png


2.类选择器

image.png

3.ID选择器

image.png

12.基本选择器的优先级

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

这三种选择器是否也遵循“就近原则”?

                不遵循,无论是哪种方式引入CSS样式,一般都遵循ID选择器 > class类选择器 > 标签选择器的优先级              

13.层次选择器

image.png

层次选择器应用:

<!DOCTYPE html><html><head>    <title>层次标签</title></head><!-- 内部样式 --><style>    /* 子选择器 */    /* body里面的所有下一级p标签 */    body>p {
        background-colorred;
        colorpink;
    }
    /* 后代选择器 */    li p {
        backgroundpink;
    }
    /* 相邻兄弟选择器 (同级),只会从上往下匹配 */    .active+p {
        backgroundgreen;
    }
    /* 通用选择器  类选择器.active与它同级匹配的所有p标签 顺序匹配 */    .active~p {
        backgroundyellow;
    }
</style><body>    <p class="active">p1</p>    <p >p2</p>    <p>p3</p>    <ul>        <li>            <p>p4</p>        </li>        <li>            <p>p5</p>        </li>        <li>            <p>p6</p>        </li>    </ul></body></html>


运行结果:

image.png

14.后代选择器

image.png

15.子选择器

image.png

16.相邻兄弟选择器

image.png

17.通用兄弟选择器

image.png

18.结构伪类选择器

image.png

19使用E F:nth-child(n)和E F:nth-of-type(n)的关键点

E F:nth-child(n)在父级里从一个元素开始查找,不分类型

E F:nth-of-type(n)在父级里先看类型,再看位置

20.结构伪类选择器的应用

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>结构伪类选择器</title></head><!-- 内部样式表 --><style>    p:first-child {
        coloryellow;
    }
    /* 结构伪类选择器 */    /* ul li:first-child */    /* ul 后代匹配第一个子元素li */    ul li:first-child {
        colorred;
    }
    ul li:last-child {
        colorgreen;
    }
    /* p:nth-of-child() */    /* 不同层级p标签匹配的第一个p标签 */    p:nth-child(1) {
        coloryellow;
    }
    /* p:nth-of-type(2) */    /* 不同层级只要标签里包含第二个类型是p标签的元素就能匹配(只要是标签里面的重复第二个p标签) */    p:nth-of-type(2) {
        colorpink;
    }
</style><body>    <p>p1</p>    <p>p2</p>    <p>p3</p>    <ul>        <li>li1</li>        <li>li2</li>        <li>li3</li>        <p>p3</p>        <p>p4</p>        <p>p5</p>    </ul></body></html>

运行结果:

image.png

21.属性选择器

image.png

22.E[attr]属性选择器

image.png

23.E[attr=val]属性选择器

image.png

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

image.png

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

image.png

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

image.png

27.属性选择器应用

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>属性选择器</title></head><style>    * {
        /* 文本装饰,去超链接下划线  */        text-decorationnone;
    }
    
    div {
        width50px;
        height50px;
        background-colorpurple;
        text-aligncenter;
        displayinline-block;
        line-height50px;
    }
    /* 属性选择器 */    /* a[id]所有a标签里只要设置了id属性的所有html元素 */    
    div[id] {
        backgroundyellow;
    }
    /* a标签里id属性的值等于one的html元素 */    
    div[id=one] {
        backgroundred;
    }
    /* a标签里class属性值包含towthree的所有html元素 */    
    div[class*=towthree] {
        backgroundpink;
    }
    /* a标签里class属性值以four-five开头的所有html元素 */    
    div[class^=four-five] {
        backgroundblue;
    }
    /* a标签里class属性值以six-seven结尾的所有html元素 */    
    div[class$=six-seven] {
        backgroundtomato;
    }
    
    a:hover {
        background-colorwhite;
    }
</style><body>    <div id="one">        <a href="">1</a>    </div>    <div class="towthree">        <a href="">2</a>    </div>    <div class="towthree">        <a href="">3</a>    </div>    <div class="four-five">        <a href="">4</a>    </div>    <div class="four-five">        <a href="">5</a>    </div>    <div class="six-seven">        <a href="">6</a>    </div>    <div class="six-seven">        <a href="">7</a>    </div>    <div class="six-seven">        <a href="">8</a>    </div>    <div>        <a href="">9</a>    </div>    <div id="ten">        <a href="">10</a>    </div></body></html>

运行结果:

image.png

28.总结

image.png

相关文章
|
8天前
|
前端开发 JavaScript
vue 动态改变css样式
vue 动态改变css样式
15 0
|
11天前
|
前端开发 开发者 UED
css样式
【4月更文挑战第20天】css样式
19 8
|
12天前
|
前端开发
css div覆盖样式(一个div想覆盖掉另一个div在他上面进行显示)
css div覆盖样式(一个div想覆盖掉另一个div在他上面进行显示)
11 0
|
9天前
|
编解码 前端开发 开发者
CSS样式
【4月更文挑战第22天】CSS样式
13 3
|
1天前
|
编解码 前端开发 UED
【专栏:HTML 与 CSS 移动端开发篇】CSS 媒体查询与移动端特定样式
【4月更文挑战第30天】CSS媒体查询在移动端开发中至关重要,它基于设备特性(如屏幕尺寸、分辨率、方向)应用特定样式,实现响应式设计。通过`@media`规则定义条件,如`(max-width: 600px)`,当屏幕宽度小于或等于600px时应用相应样式。常见条件包括屏幕宽度、高度、方向和分辨率。媒体查询可用于响应式布局、导航菜单优化、图片加载及字体调整。在实践中,需注意保持查询简洁,充分测试,渐进增强,并提前规划。掌握媒体查询能提升移动端用户体验,创造更优秀的网页设计。
|
1天前
|
开发框架 前端开发 搜索推荐
标题:【专栏:CSS进阶篇】CSS样式重置与框架:快速构建统一风格的网页
【4月更文挑战第30天】本文探讨了CSS样式重置和框架在确保网页跨浏览器一致性中的作用。样式重置通过消除默认样式差异实现一致外观,而CSS框架如Bootstrap提供预设样式和组件,加速开发并保证页面一致性。框架还有响应式设计和易于维护的优点,但也可能限制自定义和增加性能开销。选择使用哪种工具应根据项目需求、团队技能和设计复杂度来决定。开发者可结合使用两者以平衡灵活性和控制。
|
1天前
|
前端开发 UED
【专栏:CSS 基础篇】CSS 字体与文本样式:美化你的网页内容
【4月更文挑战第30天】网页设计中,字体和文本样式至关重要,影响视觉效果和用户体验。CSS允许设计师设置字体家族、大小、颜色、加粗、倾斜、行高和对齐方式等。高级特性包括引入外部字体和使用字体变体。响应式设计适应不同设备,确保良好阅读体验。实际案例和最佳实践强调易读性和一致性。掌握这些技巧能提升网页美感和用户交互,创造更多可能。
|
1天前
|
前端开发 UED
【专栏:CSS 基础篇】CSS 入门:给网页添加样式
【4月更文挑战第30天】CSS是网页设计的关键,用于控制网页样式和布局。它通过选择器(如元素、类和ID)来设定颜色、字体、对齐、背景等属性。CSS可内嵌、外部引用或行内设置。布局技巧包括浮动、定位和弹性盒子。响应式设计利用媒体查询适应不同设备。不断实践和学习CSS,能提升网页的吸引力和用户体验。一起探索CSS的魅力吧!
|
1天前
|
前端开发 JavaScript 安全
【亮剑】如何在 React TypeScript 中将 CSS 样式作为道具传递?
【4月更文挑战第30天】本文探讨了在React TypeScript应用中如何通过道具(props)传递CSS样式,以实现模块化、主题化和动态样式。文章分为三部分:首先解释了样式传递的必要性,包括模块化、主题化和动态样式以及TypeScript集成。接着介绍了内联样式的基本用法和最佳实践,展示了一个使用内联样式自定义按钮颜色的例子。最后,讨论了使用CSS模块和TypeScript接口处理复杂样式的方案,强调了它们在组织和重用样式方面的优势。结合TypeScript,确保了样式的正确性和可维护性,为开发者提供了灵活的样式管理策略。
|
2天前
|
前端开发
CSS样式引用方式的区别
CSS样式引用方式的区别