CSS(配合html的网页编程)

news2024/11/28 20:34:15

续上一篇博客,CSS是前端三大将中其中的一位,主要负责前端的皮,也就是负责html的装饰.

一、基本语法规则

也就是:选择器+若干属性声明(选中一个元素然然后进行属性声明)

CSS代码是放在style标签中,它可以放在head中也可以放在body中 ,可以放到代码的任意位置.

  1. color

也就是设置想要输入文字的颜色.是在style标签中完成.

语法格式:

这里p的意思是,所有的p(段落)标签里的内容都会换成红色

比如说这段代码:

两段用p标签输出的文字都会变成红色,如下图:

此处这里的p+{ }就是一个选择器.{ }中的CSS属性,可以是一个或者多个,每个属性都是一个键值对.键和值之间使用:进行分割.键值对之间使用;分割.每个键值对可以独占一行,也可以不独占.

2.font-size(字体大小)

使用font-size 在p{ }中添加字体大小属性

展现形式:

3.CSS写法

目前有三种CSS的写法:
  1. 内部样式:使用style标签,直接把CSS写到html文件里(一般建议放大head标签里).

  1. 内联样式:使用style属性,针对指定的元素设置样式(此时不需要选择器,直接写成键值对形式),这个实行样式只针对当前元素生效.

比如:

也能实现要求:

注意:内联样式的优先级高于外部样式.

3.外部样式:把CSS代码单独作为一个.css文件,再通过link属性,让html引入该CSS文件.

也就是新建一个.css文件,将内容写在里面

然后在目标html文件中link 这个.css文件:(用相对路径表现形式)

表现形式跟上面两个都是一样的:

在我们的实际开发中,都是使用外部样式来写CSS文件,让html和css文件分离开,解耦合.但是当前阶段我们以内部样式为主.

二、CSS选择器

  1. 标签选择器

在{ }前面写标签的名字,此时意味着会选中所有指定的标签.

此时就意味着所有的p标签被选中了!!!而其他标签不受影响

  1. 类选择器(更好的选择.可以创建CSS类,手动指定哪些元素应用这个类)

注意:这个类和Java中的类没有关系!!!

此处的类其实就是给一组相同的CSS属性起了个名字,然后让需要的标签引用而已.

展现形式:

定义类需要使用 . 开头,而通过class引用这个类的时候"class=类名"则不用带' . '.一个类可以应用多个类,也可以引用一个类.很灵活!!!

这是就引入了"层叠"这个概念,也就是一个元素是可以被应用多组样式的,而这些样式就好像一层一层的叠加上去的.

类选择器也是平时使用最为频繁的选择器.

  1. ID选择器

html页面中的每个元素,都是可以设置唯一的ID的.作为元素的身份识别标识.

给元素设置完ID后,我们就 可以通过ID来选中元素

在div标签中指定id,在style标签中用 # 引用id然后设置元素.

类选择器是可以让多个元素应用同一个类的.而id选择器则只能支队唯一的元素生效.因为一个页面中只能有一个唯一id.

上面的选择器都被称为基础选择器,而符合选择器就是把基础选择器的功能进行了一下组合,下面将为大家介绍:

4.后代选择器(可以是标签,类,id选择器的任意组合)

就比如说上述代码,我只是想要ul里的li进行放大处理.就可以直接选择ul li{ }进行设定.

这就叫后代选择器.

展现形式如下:

注意:这里的li只要是ul的后代即可,不需要一定是ul的"子元素"(也就是li是ul的孙子、重孙子都可以)

5.子选择器

子选择器也是可以把多个基础选择器进行组合,但子选择器只是找匹配的子元素,不会去找匹配的孙子等元素.

语法格式:

意思就是在指定的one中只找li的字标签

引用时需要让对应标签class=类名

展现形式是:

这里区分一下后代选择器和子选择器:

比如此时第一个a就是儿子,而第二个a孙子,而后代选择器就会选中所有的a:

如果在这里使用子选择器:

被选中的就只有第一个儿子a了:

6.并集选择器

语法形式:

选择器1:选择器2{

属性......

}

就是多组选择器应用了同样的样式

具体表现形式:
展现形式是:

7.伪类选择器(符合选择器的特殊用法)

前面的选择器是选中某个元素的,而伪类选择器是选中某个元素的特定状态.

常用状态为:

:hover 指鼠标悬停时候的状态

:active 指鼠标按下时的状态

比如这样一段代码,意义就是在鼠标悬停的时候变红,在点击的时候变绿.

这就是伪类选择器的用法.

三、CSS的常用属性

  1. 字体属性

设置字体家族,也就是font-family,当前我们要是用哪种字体.

常用的字体:'微软雅黑'.'宋体'.'黑体'.'华文行楷'等

类似这样的使用方式,表现形式是:

注意:这个属性指定的字体,必须得是系统已经安装了的.如果要指定特殊的字体一般是通过浏览器请求对应的服务器,获取到指定文字的文件,才能设置.

2.设置字体大小

之前用过很多次了,就是font-size,如果你设置的字体大小和实际的大小不一样,可能和桌面和浏览器的缩放功能有关系!!!

3.字体粗细

使用font-weight来进行设置

设置的时候有两种风格:
  1. 使用单词来设置

  1. 使用数字来设置

可以利用上面的方格中的四类单词,也可以直接填写一个数字.

展现形式是:

4.文字样式

就跟html博客中讲的i和iml一样都是倾斜的效果

代码展现是:

具体展现形式是:

要想要回复倾斜就是

5.文本颜色

就是color,计算机的颜色都是由三原色:红绿蓝组合而成的.三种颜色等比例混合形成的是白色.

在前端中,给每个RGB各分配一个字节,每个字节的范围都是0-255/00-FF

展现形式是:

通过这三个分量不同比例的调配,就调和出不同的颜色

另外,也可以通过英文单词来表示颜色.

6.左右对齐

对齐分为靠左靠右居中对齐.

利用test-align进行对齐的操控

代码展示:
展现形式是:

左 left

右right

中 center

7.文本装饰

利用text-decoration:进行文本装饰.

总共有这四个:

代码展示:
展现形式是:

有的时候有些标签是默认自带下划线的,这时可以使用none去除下划线,就比如a标签:

使用none可以去除a标签中原本的下划线.

8.文本缩进和行间距

每个段落,首行缩进两个字符.

利用test-indent进行文字缩进的控制.

这里的缩进距离大概就是一个字大小的两倍,但这样很麻烦,所以有一种方式可以直接进行方便的首行2缩进:

em是会根据文字大小进行自主的调整的.

行高=文字高度+行间距

行高其实就是上一行的顶线到下一行的顶线的距离.

行高利用line-height进行设置.

展现形式:

注意:可以利用浏览器的开发者工具进行行高的调整

9.背景属性

背景颜色调整:使用background-color
展现形式:

背景图片:使用background-image:url(图片路径,可以使绝对路径也可以是相对路径)

展现形式:

这是我们发现我们的图片是不完全的,如果想要让图片展示完全,需要扩大div的尺寸:

直接设置height就可以扩大尺寸.

我们缩小比例,发现其实在这里平铺好多个这样的图片:

如果想要取消平铺:

这样就不会发生平铺了!!!

此时虽然不发生平铺了,但是居于屏幕的左上角,我想让图片居中:

此时图片就居中了:

这是垂直居中:

展现形式是:

这是靠上居中:

展现形式是:

这是靠下居中:

展现形式是:

或者直接使用具体坐标去设置位置:

注意,计算机里的坐标系原点是在左上角!!!

另外,还可以设置背景图的大小:

展现形式是:

还有一些单词类型的大小属性:

contain:

就是让这张图在它原本的比例之下尽可能的大.

cover:

就是让这张图片在你的屏幕中尽可能的进行伸展.

10.圆角矩形

html的元素默认都是一个个的矩形,但大多数的时候都是需要"带有圆角"的矩形.

首先准备一个矩形:
展现形式是:

利用border-radius设置圆角矩形:

注意:这里的10px是指边角的内切圆的大小

当这个图形的长和宽一致的时候,此时这个图形是一个正方形,如果此时将圆角设置为和长宽一致的时候,此时就是一个圆形!!!

11.元素的显示模式

display

display:block; 块级元素

display:inline; 行内元素

任何一个元素的(块级/行内)元素都是可以设置的.

块级元素和行内元素的区别:
  1. 块级元素独占一行,行内元素不独占一行.

  1. 块级元素的长度、高度、内外边距都是可以自己设置的.而行内元素的高度宽度无效.内边距有效,

  1. 块级元素默认宽度是和父元素一样宽.行内元素默认是和里面的内容一样宽的.

我们要知道:块级元素比较正常,行内元素幺蛾子比较多,一般来说都是把行内元素转换成块级元素

12.CSS盒子模型

CSS盒子模型讲的其实就是:任何一个heml元素都是一个矩形的盒子盒子里面可以放内容.(可以使文本,其他元素).

如上图,一个"盒子"分为内容、内边距、边框、外边距.

我们就可以使用CSS来设置上述四部分的属性!!!

边框:

border属性.直接设置了四个方向.

还可以使用:

border-left;

border-right;

border-top;

border-bottom;

另外,设置边框要设置三个方面:
  1. 边框的粗细

  1. 边框的颜色

  1. 边框的风格

比如这里:
展现形式就是:
我们看这个边框的数据,发现不是之前指定的200*100了,所以我们得出了一个结论:

边框在默认条件下会撑大盒子.(也就是说那个height和width设定的是内容的大小,不加边框)

但是大多数时候我们不想要边框撑大盒子,所以就有了一个专门的属性来防止盒子被撑大:

这样就是标准的200*100了.

solid:实线

dashed:虚线

dotted:点线

内边距:

在没有内边距的时候,内边距是默认为0px的.

如果设置了内边距:
展现形式就是:

另外,上下内边距都是可以分别设置的:

还可以进行四个方向的内边距距离设置:(上右下左顺时针设置)

外边距:

利用margin设置外边距:

此时,两个边框之间就有了5px的外边距了!!!

另外margin的各种属性和padding一模一样!!!
margin有一个特殊用法:把margin-left和margin-right设置为auto(就是让浏览器自动设置).

此时该元素就是在父类元素里能够实现居中放置!!!

但是垂直方向设置居中却是无效的!!!这也是CSS的一个特殊规则.

四、弹性布局

用来实现页面布局的,也就是控制某个元素放到指定的位置上去.

1.布局的历史

最初的html中压根就没有考虑"布局"的问题,知道人们开始对网站的审美有了一定的要求后:
  1. 基于表格的布局方式

  1. 基于浮动的布局方式.主要解决"水平方向排序"问题.(块级元素默认就是垂直方向排列的问题,因为其独占一行)

  1. 弹性布局,也是解决水平方排列的问题.相比来说它的功能更多,也没啥坑.

  1. 网格布局.是一个二维的布局,既考虑水平也考虑垂直(但是诞生时间尚短导致一些老浏览器不兼容.)

所以说现今市面上最为流行的还是弹性布局!!!

2.设置弹性布局

首先准备两个div:

然后将display:flex设置在父类元素中:

此时,这三个子类元素围绕父类元素水平铺开,遵守了弹性布局!!!

3.设置这些元素水平方向的排列方式

利用这个属性进行水平方向的排列方式控制:

flex-start:

靠左排列

flex-end:

靠右排列

conter:

靠中排列

space-around:

空白环绕

4.设置元素垂直方向的排列方式

align-items

也是必须添加在父类中的属性!!!

align-items:flex-start

靠上排序

align-items:flex-on

靠下排序

align-items:center

垂直方向:

到这里我们常用的CSS就讲的差不多了,但是注意CSS并不只是只有这些内容,想要知道更多可以自主去查官方文档.

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

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

相关文章

如何描述元素与元素间的逻辑关系?

逻辑结构反映的是数据元素之间的关系,它们与数据元素在计算机中的存储位置无关,是数据结构在用户面前所呈现的形式。根据不同的逻辑结构来分,数据结构可分为集合、线性结构、树形结构和图形结构4种形式,接下来分别进行简要介绍。 …

宝塔搭建实战php源码云切程序转码m3u8生程序开源源码

大家好啊,我是测评君,欢迎来到web测评。 今天给大家分享一套php云切片转码的源码,分享自己的视频但是由于视频文件太大,服务器带宽太小,导致分享困难,部署这套系统后,就可以在上传视频后切成ts格…

车机开发—【CarService启动流程】

汽车架构:车载HAL是汽车与车辆网络服务之间的接口定义(同时保护传入的数据): 车载HAL与Android Automotive架构: Car App:包括OEM和第三方开发的AppCar API:内有包含CarSensorManager在内的AP…

5个有效的华为(HUAWEI)手机数据恢复方法

5个有效的手机数据恢复方法 华为智能手机中的数据丢失比许多人认为的更为普遍。发生这种类型的丢失有多种不同的原因,因此数据恢复软件的重要性。您永远不知道您的智能手机何时会在这方面垮台;因此,预防总比哀叹好,这就是为什么众…

通过 FTP 使用 Python 自动压缩网站图像

图像压缩对于技术SEO世界来说并不陌生,但是随着核心生命体征形式的网站性能是一个排名因素,现在是时候开始采取行动了。我已经做了几十次网站审计,我发现 80% 的网站性能问题都可以在图像或 JavaScript 下进行。当我看到图像是一个大问题时,我会欢呼,因为它是最容易解决的…

注意啦,面试通过后,别忘了教师资格证认定

所有要「教师资格证认定」教程的宝子们看过来面试合格的小伙伴都可以进行认定工作 . 认定时间 查询各省份认定公告,确定认定时间范围。以下是公告汇总网址(https://www.jszg.edu.cn/portal/qualification_cert/dynamics?id21691) 认定次数 每…

【jQuery】js实现文件浏览功能

1.说明 近期遇到一个浏览用户文件的需求,类似于访问百度网盘那样的列表,包含文件和文件夹,这个功能实现起来很简单,从服务器获取到的文件列表至少要有文件id、父级文件id、是否文件夹这三个字段 2.html设计 前端排版看你实际情…

x86架构设备的OpenWrt的空间扩容问题

openwrt固件是squashfs-combined-efi非exf4格式 直接将原有根分区扩容 用插件是:fdisk,losetup,resize2fs,blkid df -h fdisk -l fdisk /dev/sda //进入fdisk分区管理工具注意fdisk后参数是磁盘名称,是要根据实际情况填写 fdisk /dev/sda //进入fdi…

【04-JVM面试专题-什么是双亲委派机制(父类委托机制)?如何打破双亲委派机制?双亲委派机制的优缺点?什么是沙箱安全机制呢?】

什么是双亲委派机制?如何打破双亲委派机制? JVM的双亲委派机制知道吗?怎么打破它呢?你看看自己掌握的怎么样呢? 什么是双亲委派机制?(父类委托机制) 检查某个类是否已经加载 自底向上,从Custom…

将数组中的每个元素四舍五入到指定的精度numpy.rint()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 将数组中的每个元素 四舍五入到指定的精度 numpy.rint() 选择题 请问np.rint(a)的输出结果是? import numpy as np anp.array([-1.72,-1.3,0.37,2.4]) print("【显示】a:\n…

requests库基本用法

目录 1 GET请求 1.1 无参数 1.2 查询字符串 2 POST 2.1 无参数 2.2 json数据 2.3 文件 3 一些常见的请求 3.1 base64 requests是请求用的,在发起请求中requests会默认帮我们解决一些问题,比如跨域 下面做几个例子,服务选用…

CTFer成长之路之SSRF漏洞

SSRF漏洞CTF SSRF Training 题目描述: web容器中存在一个flag,mysql中存在一个管理员账号密码,其余容器中均没有特定flag mysql容器中内置 tcpdump vulnweb容器中内置一个 fpm.py 攻击脚本 docker-compose.yml version: "3" services:w…

有色金属行业数字化之路探析

有色金属行业是我国国民经济的支柱产业和重要组成部分,是处于整个原材料生产链的上游环节,其支撑着冶炼、钢铁、智能制造业、芯片、建筑等行业的发展,也是是科学研究、国防建设等方面发展的重要材料基础,同时还是保障国家综合实力…

Linux之安装node

Linux之安装node步骤如下 1.去网站下载node 下载地址: https://npm.taobao.org/mirrors/ 2.上传到指定目录下 3.解压 tar -zxvf node-v17.3.0-linux-x644.配置node环境变量 //执行以下命令 vim /etc/profile //在path中加入以下内容 /usr/local/node-v15.14.0/b…

电力电子系统仿真软件--Psim仿真软件设计

目录 1.简介 2.应用优势 3.应用领域 4.电路结构 5.界面介绍 6.应用实例 6.1 主电路部分 6.2 控制电路部分 6.3 具体的电路原理及仿真搭建过程后续会一一介绍,请各位点赞关注,你的关注将是博主最大的更新动力。 7.电力系统仿真软件下载链接 1.简…

以萨技术在科创板IPO终止:计划募资15亿元,实控人为李凡平

2月21日,上海证券交易所披露的信息显示,因以萨技术股份有限公司(下称“以萨技术”)及其保荐人撤回发行上市申请,根据《上海证券交易所股票发行上市审核规则》第六十三条的相关规定,上海证券交易所终止其发行…

创业能否成功?这几个因素很重要!

创业能否成功?这几个因素很重要! 2023-02-22 19:06:53 大家好,我是你们熟悉而又陌生的好朋友梦龙,一个创业期的年轻人 上周末跟朋友一起钓鱼,他跟吐槽现在生意越来越难做。他是我身边可以说是创业很成功的例子&#…

拨开迷雾 看见vivo穿越周期的秘密

文|智能相对论作者|佘凯文任何一个行业都有周期性,就好像我们在做股票投资的时候,提到最多的就是周期规律,因为只有掌握规律才可以让我们赚到钱。所以不论是哪家公司都逃脱不了行业周期的宿命。行业寒冬方显强者本色就拿手机行业来说吧&#…

初探 qiling ( 麒麟 ):开源的二进制分析、高级代码模拟框架

官方介绍: 官网:https://qiling.io/:https://twitter.com/qiling_iogithub 地址:https://github.com/qilingframework/qiling 1、qiling 简介 qiling 是什么 qiling 基于 python 开发,是一个开源的、可模拟多种架构…

Vue3 基础

Vue3 基础 概述 Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面&…