当前位置: 首页 > news >正文

Java前端基础——CSS

一、CSS介绍

1.1 什么是CSS

CSS(Cascading Style Sheet),层叠样式表,用于控制页面的样式.

CSS 能够对网页中元素位置的排版进行像素级精确控制, 实现美化页面的效果. 能够做到页面的样式和结构分离. 

a326de99b0b14153a18f6ef2908bab1a.png


1.2 基本语法规范

选择器 + {⼀条/N条声明} 

选择器决定针对谁修改 (找谁)  • 声明决定修改啥. (干啥)

声明的属性是键值对. 使用 ; 区分键值对, 使用 : 区分键和值. 

<style>p {/* 设置字体颜⾊ */ color: red;/* 设置字体⼤⼩ */ font-size: 30px;}
</style>
<p>hello</p>

例如:9bdd39ffa1824515a1dfcc0eaff55742.png

注意:

1.CSS一般写到style标签中(其他方式后面介绍);

2.style标签一般放到head标签中; 


1.3 CSS引入方式

CSS有三种引入方式:


1.行内样式:99739a7c28684d8fb6abc17a338028df.png

将style标签作为属性写到起始标签内。

 

2.内部样式:437d6bef1a644ea3a1e0f32c1c2a71e9.png

将style标签写到HTML语句中。

 

3.外部样式:d82c2d1850864c68827428840f49ed55.png

将CSS语句写到.css文件中。

三种引入方式对比:

1. 行内样式会出现大量的代码冗余, 不方便后期的维护,所以不常用

2. 内部样式, 只适合于写简单样式. 只针对某个标签生效. 缺点是不能写太复杂的样式. 

3. 外部样式,html和css实现了完全的分离, 企业开发常用方式


1.4 CSS书写规范

样式大小写

统一使用小写字母。

空格规范

1.冒号后面带空格。

2.选择器和 } 之间带空格。


二、CSS选择器

CSS 选择器的主要功能就是选中页面指定的标签元素. 选中了元素, 才可以设置元素的属性. 

CSS的选择器主要有标签选择器、class选择器、id选择器、复合选择器、通配符选择器。

 2.1 标签选择器

即将HTML中的标签作为选择器的选择器,如:

/* 选择所有的a标签, 设置颜⾊为红⾊ */ 
a {color: red;
}
/* 选择所有的div标签, 设置颜⾊为绿⾊ */ 
div {color: green;
}

示例:

1fb3f9df0cba44d4996df5372aed94ec.png


2.2 ID选择器

!!!标签选择器改变的是整个页面中所有标签为该标签的属性,而ID选择器改变的只是页面中标签id为目标id的属性,往往改变的是单个标签的属性(id不重复的情况下)。

/* 选择id为submit的元素, 设置颜⾊为红⾊ */ 
#submit {color: red;
}

!!!注意:使用ID选择器要再id前加 # 以区分id与标签的区别。 

示例:

0161428099bc442eb0c4c6cf572d86e9.png


2.3 类选择器

即通过标签中的class属性来改变标签的属性的选择器。

用来改变几个类属性相同的标签的属性。

/* 选择class为font32的元素, 设置字体⼤⼩为32px */ 
.font32 {font-size: 32px;
}

!!!注意:通过再class名前加“ . “来区分它为类选择器。

示例:

17a0673d131143298c66c13d3f71b958.png


2.4 通配符选择器

/* 设置⻚⾯所有元素, 颜⾊为红⾊*/ 
* {color: red;
}

示例:

862ff94e91704d78865a1293b351fb9f.png


2.4 复合选择器

类型一:

/*只设置 ul标签下的 li标签下的 a标签, 颜⾊为红⾊*/ 
ul li a {color: blue;
}

ul li a 之间以空格隔开,表示将ul标签下的li标签下的a标签的颜色改为blue,它们之间是父子关系。 

类型二:

 

​
ul , ol {color:red;
}​

ol li 之间以逗号隔开,表示将所有的ul ol标签都改为红色,它们之间是兄弟关系。


 三、常用CSS

 <div class="div1">我是一个div</div>

3.1 color

color:设置字体颜色

.text1{color: red;
}

结果如下:

2e6c8c67af604d81a050a5ccbd4cab38.png

 其中,颜色有以下三种表达方式:

1.英文单词:如red、green等

 

2.rgb代码的颜色:如rgb(255,0,0)(即用三原色表示)

3eb530883ac8467e9641fa058406be53.png

 

3.十六进制表示:如#ff00ff(即将三原色的值用十六进制表示出来)48248ced56e54e0888b7d61ccbb56e6c.png


 3.2 font-size

font-size用于设置字体大小

 .div1 {font-size: 50px;}   

结果如下:

5c77d9441ac842669d791e90b167c336.png


3.3 border(边框)

边框是⼀个复合属性, 可以同时设置多个样式, 不分前后顺序, 浏览器会根据设置的值自动判断 。

.text1{border: 1px solid purple;
}

结果如下:

916e33bd2bcb441f9986c842402948a9.png

 边框分为上下左右(top、buttom、left、right)四个部分,我们也可以单独对边框的某部分进行设置,如:2cfa09191bd24c2d95406e045826d688.png

上面border的属性分别为边框粗细、样式还有颜色。也可以根据下表分开设置:

0dc637c2abf04509906f26b6e5492c89.png

也就是说,上面的代码相当于:

.text1 {/* border: 1px purple solid; */border-width: 1px;border-style: solid;border-color: purple;
}

这三个属性可以通过1~4个值来指定(以border-width为例):

<1>当指定一个值时:同时设置4条边的宽度;

<2>当指定二个值时:第一个值设置顶部和底部,第二个值设置左侧和右侧;

<3>当指定三个值时:第一个值设置顶部,第二个值设置左侧和右侧,第三个值设置底部;

<4> 当指定四个值时:按照顶不,右侧,底部,左侧(顺时针)设置;

其它两个属性类似。


 3.4 width和height

width: 设置宽度 

height: 设置高度

注意:只有块级元素才可以设置宽高!!!(即独占一行的元素,如h1~h6等),比如改变span标签的高度和宽度是不会生效的。

如果一定要设置行内标签的宽高呢?我们可以通过使用display属性修改元素的显示模式。

 

display: block 改成块级元素 [常用] 

 

display: inline 改成行内元素 [很少用] 


3.5 padding(内边距)和 margin(外边距)

padding: 内边距, 设置内容和边框之间的距离. 

内容默认是顶着边框放置的. 用 padding 来控制这个距离

8aa51592fa7f4485812deca813e2bac5.png

.text1 {padding: 20px;
}

 

 margin:外边距,设置元素与元素之间的距离。

.text1 {margin: 20px;
}

 

注意:和border一样,padding和margin也是⼀个复合样式, 可以对四个方向分开设置 

padding-top 

padding-bottom 

padding-left 

padding-right 

margin-top

margin-bottom

margin-left 

margin-right 

 

 示例:43a81d7f481d4d89b07f1680a3a4e387.png

!!!内边距和外边距是相对的。

 

相关文章:

Java前端基础——CSS

一、CSS介绍 1.1 什么是CSS CSS(Cascading Style Sheet)&#xff0c;层叠样式表,用于控制页面的样式. CSS 能够对网页中元素位置的排版进行像素级精确控制, 实现美化页面的效果. 能够做到页面的样式和结构分离. 1.2 基本语法规范 选择器 {⼀条/N条声明} • 选择器决定针…...

Photino:通过.NET Core构建跨平台桌面应用程序,.net国产系统

一、Photino.NET简介&#xff1a; 最近发现了一个不错的框架 Photino.Net 一份代码运行&#xff0c;三个平台 windows max linux &#xff0c;其中windows10,windows11,ubuntu 18.04,ubuntu 20.04 已测试均可以。mac 因为没有相关电脑没有测试。 github:https://github.com/t…...

个人全栈开发微信小程序上线了(记日记)

个人开发的全栈项目&#xff0c;《每日记鸭》微信小程序上线了&#xff01; 主要是技术栈&#xff1a;uniapp,koa2,mongodb,langchian&#xff1b; 感兴趣的小伙伴可以来捧捧场&#xff01;...

Linux移植IMX6ULL记录 一:编译源码并支持能顺利进入linux

目录 前言 一、不修改文件进行编译 二、修改设备树文件进行编译 前言 我用的开发板是100_ask_imx6ull_pro&#xff0c;其自带的linux内核版本linux-4.9.88&#xff0c;然后从linux官网下载过来的linux-4.9.88版本的arch/arm/configs/defconfig和dts设备树文件并没有对imx6ull…...

idea正则表达式-正则替换示例-2024.11笔记

注意idea中反向引用的格式是【$1】换行符是【\n】 需要在如下的代码中往接口的方法中添加一行注解&#xff0c;注解需要用到以后注解的中文备注 原文 Autowired private WomanService womanService; /** * 自定义分页 */ PostMapping("/page/{current}/{…...

Github 2024-11-20C开源项目日报 Top9

根据Github Trendings的统计,今日(2024-11-20统计)共有9个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量C项目9Assembly项目1raylib: 用于视频游戏编程的简单易用图形库 创建周期:3821 天开发语言:C协议类型:zlib LicenseStar数量:18556 个Fork数…...

安卓CameraX的使用

如果要在安卓应用中操作相机&#xff0c;有三个库可以选&#xff1a; Camera&#xff08;已废弃&#xff09;&#xff1a;Camera是安卓最早的包&#xff0c;目前已废弃&#xff0c;在Android 5.0&#xff08;API 级别 21&#xff09;的设备上操作相机可以选择该包&#xff0c;…...

unity3d——基础篇小项目(开始界面)

示例代码&#xff1a; using System.Collections; using System.Collections.Generic; using UnityEngine;public class BeginPanel : BasePanel<BeginPanel> {public UIButton btnBegin;public UIButton btnRank;public UIButton btnSetting;public UIButton btnQuit; …...

【YOLOv8】安卓端部署-1-项目介绍

【YOLOv8】安卓端部署-1-项目介绍 1 什么是YOLOv81.1 YOLOv8 的主要特性1.2 YOLOv8分割模型1.2.1 YOLACT实例分割算法之计算掩码1.2.1.1 YOLACT 的掩码原型与最终的掩码的关系1.2.1.2 插值时的目标检测中提取的物体特征1.2.1.3 coefficients&#xff08;系数&#xff09;作用1.…...

安卓手机root+magisk安装证书+抓取https请求

先讲一下有这篇文章的背景吧&#xff0c;在使用安卓手机fiddler抓包时&#xff0c;即使信任了证书&#xff0c;并且手机也安装了证书&#xff0c;但是还是无法捕获https请求的问题&#xff0c;最开始不知道原因&#xff0c;后来慢慢了解到现在有的app为了防止抓包&#xff0c;把…...

11.20 深度学习-pytorch包和属性的基础语法

import torch import numpy as np def sci_close(): # 关闭pytorch 数据打印出来时科学计数法 torch.set_printoptions(sci_modeFalse) pass return 0 def create_tensor(): # 创建张量 t1torch.tensor(5) # 一阶张量 阶数看你传入的矩阵是多少阶的 这个是标量 不是一阶 一阶…...

SpringMVC域对象共享数据

目录 一.向 request 域对象共享数据 1.1使用ServletAPI向request域对象共享数据 1.2使用ModelAndView向request域对象共享数据 1.3使用Model向request域对象共享数据 1.4使用map向request域对象共享数据 1.5使用ModelMap向request域对象共享数据 二.Model、ModelMap、Ma…...

每日论文23-24ESSERC 6.4-16.1Ghz混合并联-串联谐振器

《A 6.4-to-16.1GHz Hybrid Parallel-Series Resonator Mode-Switching Oscillator with 206.6dBc/Hz FoMT at 1MHz Offset in 40nm CMOS》 24ESSERC 首先这篇文章有个地方我其实没太明白&#xff0c;它在title和行文的时候都写的是“ hybrid parallel-series resonator mode-…...

【软考】系统架构设计师-信息安全技术基础

信息安全核心知识点 信息安全5要素&#xff1a;机密性、完整性、可用性、可控性、审查性 信息安全范围&#xff1a;设备安全、数据安全、内容安全、行为安全 网络安全 网络安全的隐患体现在&#xff1a;物理安全性、软件安全漏洞、不兼容使用安全漏洞、选择合适的安全哲理 …...

kali搭建pikachu靶场

前言&#xff1a; 总所周知搭个网站需要有apachemysqlphp&#xff0c;Apache是一个开源的Web服务器软件&#xff0c; MySQL是一种关系型数据库管理系统&#xff08;数据库&#xff09;&#xff0c;PHP是一种在服务器上执行的脚本语言 文章内容来自&#xff1a;【黑帽编程与攻…...

注解用于从 HTTP 请求中提取数据

在 Spring 框架中&#xff0c;PathVariable、RequestParam 和 RequestBody 等注解用于从 HTTP 请求中提取数据。具体来说&#xff1a; PathVariable&#xff1a;用于从 URL 路径中提取变量值。例如&#xff0c;在路径 /users/{id} 中&#xff0c;{id} 是一个路径变量。Request…...

(Linux)搭建静态网站——基于http/https协议的静态网站

简单了解nginx配置文件 1.下载并开启nginx服务 下载 [rootlocalhost ~]# dnf install nginx -y开启 [rootlocalhost ~]# systemctl restart nginx 1.(1)搭建静态网站——基于http协议的静态网站 实验1&#xff1a;搭建一个web服务器&#xff0c;访问该服务器时显示“hello w…...

【机器学习chp3】判别式分类器:线性判别函数、线性分类器、广义线性分类器、分段线性分类器

前言&#xff1a; 本文遗留问题&#xff1a;&#xff08;1&#xff09;对最小平方误差分类器的理解不清晰.&#xff08;2&#xff09;分段线性判别函数的局部训练法理解不清晰。 推荐文章1&#xff0c;其中有关于感知机的分析 【王木头从感知机到神经网络】-CSDN博客 推荐文…...

【学习】【HTML】HTML、XML、XHTML

HTML 什么是 HTML&#xff1f; HTML (HyperText Markup Language) 是一种用于创建和展示网页的标准标记语言。它由一系列的元素组成&#xff0c;这些元素通过标签的形式来告诉浏览器如何显示内容。 HTML 的基本结构是什么&#xff1f; <!DOCTYPE html> <html> …...

ARM中ZI-data段和RW-data段

ARM中ZI-data段和RW-data段 1、只定义全局变量&#xff0c;不使用&#xff0c;不占用内存空间2、 定义并初始化全局变量为0 占用ZI-Data区域3、定义并初始化全局变量非0 占用RW-Data区域4、增加的是一个int8的数据为什么&#xff0c;size增加不是15、定义的全局变量为0&#xf…...

【kafka】Golang实现分布式Masscan任务调度系统

要求&#xff1a; 输出两个程序&#xff0c;一个命令行程序&#xff08;命令行参数用flag&#xff09;和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽&#xff0c;然后将消息推送到kafka里面。 服务端程序&#xff1a; 从kafka消费者接收…...

docker详细操作--未完待续

docker介绍 docker官网: Docker&#xff1a;加速容器应用程序开发 harbor官网&#xff1a;Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台&#xff0c;用于将应用程序及其依赖项&#xff08;如库、运行时环…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下&#xff0c;企业和个人创作者为了扩大影响力、提升传播效果&#xff0c;纷纷采用短视频矩阵运营策略&#xff0c;同时管理多个平台、多个账号的内容发布。然而&#xff0c;频繁的文案创作需求让运营者疲于应对&#xff0c;如何高效产出高质量文案成…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

Linux部署私有文件管理系统MinIO

最近需要用到一个文件管理服务&#xff0c;但是又不想花钱&#xff0c;所以就想着自己搭建一个&#xff0c;刚好我们用的一个开源框架已经集成了MinIO&#xff0c;所以就选了这个 我这边对文件服务性能要求不是太高&#xff0c;单机版就可以 安装非常简单&#xff0c;几个命令就…...

Ubuntu系统复制(U盘-电脑硬盘)

所需环境 电脑自带硬盘&#xff1a;1块 (1T) U盘1&#xff1a;Ubuntu系统引导盘&#xff08;用于“U盘2”复制到“电脑自带硬盘”&#xff09; U盘2&#xff1a;Ubuntu系统盘&#xff08;1T&#xff0c;用于被复制&#xff09; &#xff01;&#xff01;&#xff01;建议“电脑…...

shell脚本质数判断

shell脚本质数判断 shell输入一个正整数,判断是否为质数(素数&#xff09;shell求1-100内的质数shell求给定数组输出其中的质数 shell输入一个正整数,判断是否为质数(素数&#xff09; 思路&#xff1a; 1:1 2:1 2 3:1 2 3 4:1 2 3 4 5:1 2 3 4 5-------> 3:2 4:2 3 5:2 3…...