探索CSS:从入门到精通Web开发(二)

news2025/4/5 10:35:10

前言

当我们谈论网页设计和开发时,CSS(层叠样式表)无疑是其中的重要一环。作为HTML的伴侣,CSS赋予网页以丰富的样式和布局,使得网站看起来更加吸引人并且具备更好的可读性。本书将通过一系列深入浅出的方式,带你从入门到精通CSS,探索Web开发的奥秘。

你将学到:

CSS基础知识: 我们会从CSS的基础语法和常用属性开始,让你了解如何使用CSS来设置网页的样式,包括文字样式、颜色、布局等方面。

响应式设计: 随着移动设备的普及,响应式设计已经成为Web开发的标配。我们将介绍如何利用CSS媒体查询和弹性布局来创建适应不同屏幕尺寸的网页。

CSS动画和过渡效果: 通过CSS的动画和过渡效果,可以让网页元素变得更加生动和吸引人。我们将教你如何运用这些技术来增强用户体验。

CSS预处理器: 介绍CSS预处理器(如Sass和Less)的使用,以及它们如何帮助你更高效地编写和管理CSS代码。

现代CSS技术: 探索一些现代的CSS技术,如Flexbox布局、Grid布局以及CSS变量,让你的网页开发更加高效和便捷。

无论你是初学者还是有一定经验的开发者,本书都将提供有关CSS的全面指导,帮助你更好地理解和运用CSS来打造精美的网页。让我们一起开始这段关于CSS探索之旅吧!请添加图片描述

<style>
        /*css的注释*/
        /* 选择器 {css属性} 选择器是查找标签的*/
     p {
        /*字体的颜色*/
        color: aqua;
        /*字体大小,px是像素的意思*/
        font-size: 30px;
        /*背景颜色*/
        background-color: antiquewhite;
        /*宽高尺寸大小width height*/
        width: 400px;
        height: 400px;
}
    </style>
</head>
<body>
<p>这是一个p标签</p>

请添加图片描述

css 的引入方式

3种:

内嵌式:
css写在style标签中
提示:style标签可以写在页面的任意位置,但是通常约定写在head标签中
作用范围 当前页面
适用于 小案例

外联式:
css写在一个单独的.css文件中
提示:需要通过link标签在网页中引入
作用范围 多个页面
适用于 项目
 <link rel="stylesheet" href="./my.css">
行内式:
css写在标签style属性中
作用范围 当前标签
配合js使用
zhishiyigedivbaioqian

基础选择器:

    标签选择器: 就是以标签来命名的选择器
    选中的这个标签,所有的这个标签都生效 

字体

属性名 font-family
常见取值:具体字体1/2*/3、
css具有层叠性

一个属性冒号后面跟书写多个值叫做复合属性
font: style weight  size 字体 简写方式

文本样式:
缩进:属性名:text-indent
取值:数字+px 或者 数字+em(1em等于当前标签的font的字号值)
文字对齐:
text-align :center 居中
text-align :left 左对齐
要想给图片居中
给图所在的标签的父标签加上text-align :center注意不是img标签
文本修饰
属性名:text-decoration
取值:
属性值 underline 下划线(常用)
line-through 删除线
overline上划线
none无常用线
行高

=上间距+下间距+文本高度·
控制一行的上下行间距
属性名:line-height
取值:
数字+px 或者 倍数(当前标签font-size的大小)
拓展颜色
属性名 :文字颜色color
背景颜色:background-color
属性值
关键词:预定义的颜色名 red green…
rgb :红绿蓝三原色:取值范围0-255,rab(0,0,0)
rgba表示法:红绿蓝三原色+a表示透明度取值0-1;
十六进制表示法:#开头,将数字转换成十六进制表示 #000000,简写#000
标签居中:
在想居中的标签里加margin :0 auto

请添加图片描述

选择标签进阶

后代选择器:空格,儿子孙子都会选中
选择器 选择器 {…}
儿子选择器:>,只儿子选中
选择器>选择器 {…}
并集选择器:
选择器,选择器{…}

hover伪类选择器

作用:选中鼠标悬停在元素上的状态,设置样式
选择器语法:选择器:hover{css}

背景颜色
background-color: ;
背景图片
background-image: url();
背景平铺
background-repeat(bgr)
取值:no-repeat 不平铺 repeat-x 沿着水平方向x轴平铺 repeat-y亚y轴
背景位置
background-position(bgp)
取值:方位名词(水平方向) 方位名词(垂直方向)
或者写数字 50px 220px等等 (这个表示向右移50,向下走220)
连写:
单个属性的合写,取值之间空格隔开

元素显示模式:

块级元素:显示特点 独占一行,一行显示同一个,宽度默认是父元素的宽度,高度默认是由内容撑开
可以设置宽高 代表:div p h ul dl dd from nav footer
行内元素:显示特点在同一行显示,不可以设置宽高,宽高由内容默认撑开
代表:a span b u i s strong ins em del
行内块元素:显示特点: 一行显示多个可以设置宽高
代表 input textarea,button select
元素显示模式转换:
目的:改变元素默认的显示特点,让元素符合布局要求
属性:display:block 转换成块级元素,
display:inline-block转换成行内块元素
display:inline 转化成行内元素
特殊注意:p标签中不要嵌套div p h等块级元素
a标签内部不能嵌套a标签
请添加图片描述

盒子模型:

页面中的每一个标签多可以称为盒子
盒子分别由:内容区域,内边距区域padding,边框区域border,外边距区域margin构成。
border:粗细 线条样式 颜色
solid 实线
border:1px solid #000;
dashed:虚线dotted:点线
、border:5px dashed/dotted #000;

盒子模型自动内减(不用手动计算盒子大小):给border设置属性box-sizing : border-box
清除默认内外边距:比如body标签有margib: 8px
p标签有上下的margin
ul标签有由上下的margin padding-left
*{margin:0; padding:0;}

版心居中:
margin: 0 auto;
外边距的折叠现象-

合并现象
垂直布局的块级元素,上下的margin会合并
结果:最终两者距离为margin的最大值

塌陷现象:
互相嵌套的块级元素,子元素语句作用在父元素上 结果导致父元素一起改变
解决方法:
一:给父元素设置overflow:hidden
二:给父元素设置border-top 或者padding-top
三:转换成行内元素
四:设置浮动

结构伪类选择器:

选择器:E:first-child{} 匹配父元素第一个子元素
E:last-child{}匹配父元素最后一个选择器
E:nth-child(n){}匹配父元素第n个元素
E:nth-last-child(n)匹配父元素倒数第n个元素
n可以取值2n 4n等even(偶数) odd(奇数)
伪元素:一般页面的非主体内容可以使用伪元素
由css模拟出的标签效果
::before 在父元素内容最前面添加一个微元素
::after 在父元素内容最后面添加一个微元素
必须设置content属性才能生效

浏览器解析行内块或行内标签的时候,如果标签换行书写会产生一个间隙

请添加图片描述

浮动:

float之后的标签具有行内块特点
float 使盒子在同一行
浮动元素会脱离标准流,在标准流中的不占原来位置
浮动元素比标准流高半个级别,可以覆盖标准流中的原素
清除浮动·:
清除浮动带来的影响、
父子级标签,子集浮动,父级没有高度,后面的标准流会受到影响
放法:
额外标签法
在父元素内容的最后添加一个块级元素
给添加的块级元素设置clear:both(清除左右浮动)
缺点: 会在页面额外添加标签,会让结构复杂

单伪元素清除法:
 写法:.clearfix::after{
    content:“;
    display:block;
    clear:both;
}   

给父元素设置overflow:hidden

定位:

可以让元素自由的摆放在网页是任意位置
一般用于盒子之间的层叠
设置定位方式:
position 属性值:static静态定位
relative相对定位 absolute绝对定位
static再设置偏移值:水平 left 数字+px 距离左边距的 距离
垂直 top 数字+px 距离上边距的距离

子级绝对定位,父级相对定位
位移 :transform(-50%,-50%)
移到自己盒子的中间

固定定位:
position:fixed;

请添加图片描述

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

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

相关文章

Java多线程 - 黑马教程

文章目录 Java 多线程一、多线程概述二、 多线程创建方式1、继承 Thread 类创建线程2、实现 Runnable 接口3、实现 Callable 接口三、Thread 常用的方法四、线程安全什么是线程安全问题?线程安全问题出现的原因程序模拟线程安全五、线程同步线程同步方式1:同步代码块线程同步…

GPIO的使用--时钟使能含义--代码封装

目录 一、时钟使能的含义 1.为什么要时钟使能&#xff1f; 2.什么是时钟使能&#xff1f; 3.GPIO的使能信号&#xff1f; 二、代码封装 1.封装前完整代码 2.封装结构 封装后代码 led.c led.h key.c key.h main.c 一、时钟使能的含义 1.为什么要时钟使能&#xff1f…

关于如何解决问题?代码习惯。

警钟长鸣 从师哥身上学到的东西&#xff1a; 关于如何解决问题&#xff1f; 1、沟通&#xff1a;有效的沟通&#xff0c;将问题描述清楚&#xff0c;让老师和师哥明白你出了什么问题&#xff0c;给出建议&#xff0c;很多时候一句良言胜过自己摸索很久 2、出现问题由浅入深地…

国标GB28181安防监控平台EasyCVR录像时间轴优化步骤

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同&#xff0c;支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强&#xff0c;视频能力丰富&#xff0c;具体可实现视频监控直播、视频轮播、视频录像、…

Linux系统上RabbitMQ安装教程

一、安装前环境准备 Linux&#xff1a;CentOS 7.9 RabbitMQ Erlang 1、系统内须有C等基本工具 yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c kernel-devel m4 ncurses-devel tk tc xz socat2、下载安装包 1&#xff09;首先&a…

Harmony Ble蓝牙App(三)特性和属性

Ble蓝牙App&#xff08;三&#xff09;特性使用 前言正文一、获取属性列表二、属性提供者三、获取特性名称四、特性提供者五、加载特性六、源码 前言 在上一篇中我们完成了连接和发现服务两个动作&#xff0c;那么再发现服务之后要做什么呢&#xff1f;发现服务只是让你知道设备…

<Linux>(极简关键、省时省力)《Linux操作系统原理分析之linux存储管理(5)》(21)

《Linux操作系统原理分析之linux存储管理&#xff08;5&#xff09;》&#xff08;21&#xff09; 6 Linux存储管理6.6 Linux 物理空间管理6.6.1 Linux 物理内存空间6.6.2 物理页面的管理6.6.3 空闲页面管理——buddy 算法 6.7 内存的分配与释放6.7.1 物理内存分配的数据结构 6…

Design patterns--代理模式

设计模式之代理模式 我们使用Qt开发大型应用程序时&#xff0c;经常遇见大型程序启动时需要加载一些配置信息、用户末次操作信息&#xff0c;以及算法模型等数据时比较费时&#xff0c;笔者在程序启动时设计欢迎页或加载页等窗体来提示用户程序正在加载某些数据&#xff0c;加载…

基于SSM框架的《超市订单管理系统》Web项目开发(第五天)供应商管理,增删改查

基于SSM框架的《超市订单管理系统》Web项目开发&#xff08;第五天&#xff09;供应商管理&#xff0c;增删改查 上一次我们实现了多表关联查询&#xff0c;还有分页显示数据的功能。还完善了用户管理这一模块。 因此今天我们需要完成的是供应商管理模块&#xff0c;这一模块…

SQL自学通之表达式条件语句与运算

目录 一、目标 二、表达式条件语句 1、表达式&#xff1a; 2、条件 2.1、WHERE 子句 三、运算 1、数值型运算: 1.1、加法() 1.2、减法 (-) 1.3、除法&#xff08;/&#xff09; 1.4、乘法 &#xff08;*&#xff09; 1.5、取模 &#xff08;%&#xff09; 优先级别…

第24章:Kubernetes Helm Introduction

目录 1. Helm简介2. Helm Charts文件&#xff08;.tgz&#xff09;组成3. Helm核心术语&#xff1a;4. Helm常用命令&#xff1a;5. DIY简单Helm Charts参考链接 1. Helm简介 Helm用于管理Kubernetes应用程序&#xff0c;Helm Charts可以用于定义、安装和升级最复杂的Kubernet…

西南科技大学模拟电子技术实验七(集成运算放大器的非线性应用)预习报告

一、计算/设计过程 说明:本实验是验证性实验,计算预测验证结果。是设计性实验一定要从系统指标计算出元件参数过程,越详细越好。用公式输入法完成相关公式内容,不得贴手写图片。(注意:从抽象公式直接得出结果,不得分,页数可根据内容调整) 预习计算内容根据运放的非线…

Android加载AnimatedImageDrawable播放gif动态图,Kotlin

Android加载AnimatedImageDrawable播放gif动态图&#xff0c;Kotlin import android.graphics.ImageDecoder import android.graphics.ImageDecoder.OnHeaderDecodedListener import android.graphics.drawable.AnimatedImageDrawable import android.os.Bundle import android…

SVG-椭圆弧-参数转换-计算公式-标准解读

文章目录 1.简介2.基本参数2.1.椭圆的表达2.2.参数变换2.3.注意事项 3.参考资料4.总结 1.简介 为了与其他路径段表示法保持一致&#xff0c; SVG 路径中的圆弧是根据曲线上的起点和终点定义的。椭圆弧的这种端点参数化。优点是它允许与其它路径一致的语法&#xff0c;其中所有…

Spring Security 6.x 系列(9)—— 基于过滤器链的源码分析(二)

一、前言 在本系列文章&#xff1a; Spring Security 6.x 系列&#xff08;4&#xff09;—— 基于过滤器链的源码分析&#xff08;一&#xff09;中着重分析了Spring Security在Spring Boot 的自动配置、 DefaultSecurityFilterChain 的构造流程、FilterChainProxy 的构造流…

深入学习锁--Synchronized各种使用方法

一、什么是synchronized 在Java当中synchronized通常是用来标记一个方法或者代码块。在Java当中被synchronized标记的代码或者方法在同一个时刻只能够有一个线程执行被synchronized修饰的方法或者代码块。因此被synchronized修饰的方法或者代码块不会出现数据竞争的情况&#x…

Spring Boot中使用Swagger

1. 启用Swagger 1.1 启用注解扫描和文档接口 直接在POM文件引入依赖 <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version> </dependency>1.2 启动swagger-u…

ARM与大模型,狭路相逢

编辑&#xff1a;阿冒 设计&#xff1a;沐由 从去年底至今&#xff0c;伴随着OpenAI旗下ChatGPT的火爆&#xff0c;一波AI大模型推动着AI应用全面进入了大模型时代。与此同时&#xff0c;随着边缘算力的提升&#xff0c;AI大模型的部署也逐渐从云端涉入到边缘。 世界对AI算力的…

黑马一站制造数仓实战1

1. 项目目标 一站制造 企业中项目开发的落地&#xff1a;代码开发 代码开发&#xff1a;SQL【DSL SQL】 SparkCore SparkSQL 数仓的一些实际应用&#xff1a;分层体系、建模实现 2. 内容目标 项目业务介绍&#xff1a;背景、需求 项目技术架构&#xff1a;选型、架构 项目环境…

Selenium 自动化高级操作与解决疑难杂症,如无法连接、使用代理等

解决 Selenium 自动化中的常见疑难杂症 这里记录一些关于 Selenium的常用操作和疑难杂症。 有一些细节的知识点就不重复介绍了&#xff0c;因为之前的文章中都有&#xff01; 如果对本文中的知识点有疑问的&#xff0c;可以先阅读我以前分享的文章&#xff01; 知识点&…