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

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

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

游戏引擎学习第17天

视频参考:https://www.bilibili.com/video/BV1LPUpYJEXE/ 回顾上一天的内容 1. 整体目标&#xff1a; 处理键盘输入&#xff1a;将键盘输入的处理逻辑从平台特定的代码中分离出来&#xff0c;放入更独立的函数中以便管理。优化消息循环&#xff1a;确保消息循环能够有效处理 …

知识中台:赋能 3C 数码企业服务升级

在数字化浪潮汹涌澎湃的当下&#xff0c;3C 数码产品行业竞争已呈白热化态势。企业如何在这片充满挑战与机遇的领域中&#xff0c;打造卓越服务&#xff0c;构筑核心竞争力&#xff1f;知识中台的建设与运用&#xff0c;正逐渐成为破题关键。 一、产品研发加速引擎 在 3C 数码…

_FYAW智能显示控制仪表的简单使用_串口通信

一、简介 该仪表可以实时显示位移传感器的测量值&#xff0c;并可设定阈值等。先谈谈简单的使用方法&#xff0c;通过说明书&#xff0c;我们可以知道长按SET键可以进入参数选择状态&#xff0c;按“↑”“↓”可以选择该组参数的上一个或者下一个参数。 从参数一览中可以看到有…

Pytest 学习 @allure.severity 标记用例级别的使用

一、前言 使用allure.serverity注解&#xff0c;可以在allure报告中清晰的看到不同级别用例情况 使用等级介绍 allure提供的枚举类 二、等级介绍 二、等级介绍 blocker&#xff1a;阻塞缺陷&#xff08;功能未实现&#xff0c;无法下一步&#xff09; critical&#xff1a;…

Linux编辑器 - vim

目录 一、vim 的基本概念 1. 正常/普通/命令模式(Normal mode) 2. 插入模式(Insert mode) 3. 末行模式(last line mode) 二、vim 的基本操作 三、vim 正常模式命令集 1. 插入模式 2. 移动光标 3. 删除文字 4. 复制 5. 替换 6. 撤销上一次操作 7. 更改 8. 调至指定…

windows下编译ffmpeg4.4版本

最近在做一个利用ffmpeg库播放rtsp流的一个项目&#xff0c;需要自己编译ffmpeg源码&#xff1b;记录一下编译源码的过程&#xff0c;仅供参考&#xff1b; 目标&#xff1a; 开发环境&#xff1a;windows10系统&#xff1b; ffmpeg:ffmpeg4.4版本&#xff0c;https://downlo…

vulfocus在线靶场:骑士cms_cve_2020_35339:latest 速通手册

目录 一、启动环境&#xff0c;访问页面&#xff0c;ip:端口号/index.php?madmin,进入后台管理页面&#xff0c;账号密码都是adminadmin 二、进入之后&#xff0c;根据图片所示&#xff0c;地址后追加一下代码&#xff0c;保存修改 ​三、新开标签页访问&#xff1a;①ip:端…

鸿蒙开发:ForEach中为什么键值生成函数很重要

前言 在列表组件使用的时候&#xff0c;如List、Grid、WaterFlow等&#xff0c;循环渲染时都会使用到ForEach或者LazyForEach&#xff0c;当然了&#xff0c;也有单独使用的场景&#xff0c;如下&#xff0c;一个很简单的列表组件使用&#xff0c;这种使用方式&#xff0c;在官…

力扣 LeetCode 257. 二叉树的所有路径(Day8:二叉树)

解题思路&#xff1a; 第一次提到回溯 前序遍历 中左右 中是处理过程 左右是递归过程 注意递归三部曲的第二部&#xff0c;确定终止条件&#xff0c;这里就是遍历完叶子节点就停止&#xff0c;而不是遍历到空节点 class Solution {List<String> res new ArrayLis…

el-table实现最后一行合计功能并合并指定单元格

效果图如下&#xff1a; 表格代码如下&#xff1a; <el-table width"100%"ref"tableRef" style"margin-bottom: 15px;":data"jlData"class"tableHeader6"header-row-class-name"headerStyleTr6":row-class-n…

Java基础知识(六)

文章目录 StringString、StringBuffer、StringBuilder 的区别&#xff1f;String 为什么是不可变的?字符串拼接用“” 还是 StringBuilder?String#equals() 和 Object#equals() 有何区别&#xff1f;字符串常量池的作用了解吗&#xff1f;String s1 new String("abc&qu…

antd中使用Table手动进行分页

<Table<DataType>//获取勾选中的数据rowSelection{rowSelection}//当列过多时&#xff0c;固定某些列&#xff0c;实现左右滑动scroll{{ x: max-content }}//字段名columns{columns}// rowKey{(record) > record.login.uuid}//每一行唯一的标识&#xff0c;也是勾选…

nodejs21: 快速构建自定义设计样式Tailwind CSS

Tailwind CSS 是一个功能强大的低级 CSS 框架&#xff0c;只需书写 HTML 代码&#xff0c;无需书写 CSS&#xff0c;即可快速构建美观的网站。 1. 安装 Tailwind CSS React 项目中安装 Tailwind CSS&#xff1a; 1.1 安装 Tailwind CSS 和相关依赖 安装 Tailwind CSS: npm…

Java开发经验——JDK工具类的安全问题

摘要 本文探讨了Java开发中JDK工具类的安全问题&#xff0c;重点分析了不同工具类&#xff08;包括Java自带的Objects工具类、Apache Commons Lang、Guava和Spring Framework的ObjectUtils&#xff09;在比较对象相等性时的使用方法和优势。同时&#xff0c;文章还涉及了Integ…

web——sqliabs靶场——第十四关——布尔盲注的使用

第一步、判断注入条件 输入#看看闭合条件 是双引号闭合。 由此可以确定&#xff0c;页面存在注入&#xff0c;注入点为双引号字符型注入。 开脚本

Python Turtle绘图:重现汤姆劈树的经典瞬间

Python Turtle绘图&#xff1a;重现汤姆劈树的经典瞬间 &#x1f980; 前言 &#x1f980;&#x1f40b; 效果图 &#x1f40b;&#x1f409; 代码 &#x1f409; &#x1f980; 前言 &#x1f980; 《汤姆与杰瑞》&#xff08;Tom and Jerry&#xff09;是我们小时候经常看的一…

论文分享 | FuzzLLM:一种用于发现大语言模型中越狱漏洞的通用模糊测试框架

大语言模型是当前人工智能领域的前沿研究方向&#xff0c;在安全性方面大语言模型存在一些挑战和问题。分享一篇发表于2024年ICASSP会议的论文FuzzLLM&#xff0c;它设计了一种模糊测试框架&#xff0c;利用模型的能力去测试模型对越狱攻击的防护水平。 论文摘要 大语言模型中…

Spring工作流程

&#xff08;3&#xff09;案例工作流程 启动服务器初始化过程 1.服务器启动&#xff0c;执行ServletContainersInitConfig类&#xff0c;初始化web容器功能类似于以前的web.xml 2.执行createServletApplicationContext方法&#xff0c;创建了WebApplicationContext对象 该方法…

python蓝桥杯刷题2

1.最短路 题解&#xff1a;这个采用暴力枚举&#xff0c;自己数一下就好了 2.门牌制作 题解&#xff1a;门牌号从1到2020&#xff0c;使用for循环遍历一遍&#xff0c;因为range函数无法调用最后一个数字&#xff0c;所以设置成1到2021即可&#xff0c;然后每一次for循环&…

【设计模式】如何用C++实现适配器模式

【设计模式】如何用C实现适配器模式 一、问题背景 用到过很多次适配器模式&#xff0c;一直不理解为什么用这种模式&#xff0c;好像这个模式天生就该如此使用。 实际上&#xff0c;我们很多的理念都源于一些简朴的思想&#xff0c;这些思想不一定高深&#xff0c;但是在保证…