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

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

 

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

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

相关文章

浅议Flink中的通讯工具: Akka

在Flink中&#xff0c;各个组件之间需要频繁交换数据和控制信息。Flink选择了基于Actor模型的Akka框架作为通信基础。 Akka是什么 Actor模型 Actor模型是用于单个进程中并发的场景。 在Actor模型中&#xff1a; ActorSystem负责管理actor生命周期 将每个实体视为独立的 Ac…

Java-05 深入浅出 MyBatis - 配置深入 动态 SQL 参数、循环、片段

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 大数据篇正在更新&#xff01;https://blog.csdn.net/w776341482/category_12713819.html 目前已经更新到了&#xff1a; MyBatis&#xff…

Vue.js 自定义指令:从零开始创建自己的指令

vue使用directive 前言vue2使用vue3使用 前言 关于使用自定义指令在官网中是这样描述的 vue2:对普通 DOM 元素进行底层操作&#xff0c;这时候就会用到自定义指令。 vue3:自定义指令主要是为了重用涉及普通元素的底层 DOM 访问的逻辑。 在 Vue.js 中使用自定义指令&#xf…

uni-app快速入门(十一)--常用JS API(上)

在前面学习了uni-app的布局、组件、路由等知识点以后&#xff0c;还要掌握uni-app的JS API ,也可以理解为基于uni-app的java script。本节介绍uni-app的request请求、文件上传、数据缓存、获取位置、获取系统信息、获取手机的网络状态、拨打电话API。 一、request请求 使用uni…

Ubuntu24.04解决向日葵安装libgconf-2-4依赖问题

最近在加装的ssd上加装了个Ubuntu&#xff0c;当然要装最新的长期支持稳定版啦&#xff0c;24.04.1&#xff0c;却发现常用的向日葵不好安装成功&#xff0c;即使是官方的说明&#xff0c;应该是用这个版本系统的人还不多。 找到了一个帅哥的解决方案&#xff0c;是可行的 但是…

工厂模式-工厂方法模式实现

具体的产品有具体的工厂类生产,这样当新增商品时,不需要修改原来的工厂类 主要有4个角色 抽象工厂 具体工厂 抽象产品 具体产品 1. 定义抽象产品,本文以生产手机为例 /*** @desc 抽象产品**/ public interface Phone { } 2. 定义具体产品-Apple /*** @desc 具体产品…

详解SpringCloud集成Camunda7.19实现工作流审批(一)

背景是公司里的一个企业管理系统项目里许多业务涉及了审批流&#xff0c;因此需要引进工作流引擎来开发一个通用的工作流服务&#xff0c;经过调研最终采用的是集成Camunda7.19版本引擎来实现文章目录 一、参考资源二、工作流简介三、工作流引擎四、Camunda安装1.流程图设计器2…

【Linux内核剖析】深入分析inet_init的处理机制

inet_init 是 Linux 内核中用于初始化 TCP/IP 协议栈的函数。它在内核启动时被调用&#xff0c;完成各种协议和数据结构的注册和初始化。 主要功能&#xff1a; 注册 TCP、UDP、ICMP 等协议。初始化 ARP、IP 和其他网络协议模块。设置 socket 操作和协议处理。 前后调用关系链…

使用 .NET 创建新的 WPF 应用

本教程介绍如何使用 Visual Studio 创建新的 Windows Presentation Foundation &#xff08;WPF&#xff09; 应用。 使用 Visual Studio&#xff0c;可以向窗口添加控件以设计应用的 UI&#xff0c;并处理这些控件中的输入事件以与用户交互。 在本教程结束时&#xff0c;你有一…

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

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

聚焦 NLP 和生成式 AI 的创新与未来 基础前置知识点

给学生们讲解的技术内容可以根据他们的背景、兴趣和教学目标来规划。以下是一些适合不同阶段和领域的技术主题建议&#xff0c;尤其是与大语言模型&#xff08;如 ChatGPT&#xff09;相关的内容&#xff1a; 1. 自然语言处理&#xff08;NLP&#xff09;基础 适合对 NLP 了解…

python3 Flask应用 使用 Flask-SQLAlchemy操作MySQL数据库

一、环境搭建 下载命令&#xff1a; pip install flask flask-sqlalchemy pymysql 二、创建项目结构 yourProjectFolder/ |—— app.py |—— config.py |—— models.py |__ mydb.py 三、基本使用 3.1 config.py 进行数据库连接配置 import osbasedir os.path.abspat…

深度学习:神经网络中线性层的使用

深度学习&#xff1a;神经网络中线性层的使用 在神经网络中&#xff0c;线性层&#xff08;也称为全连接层或密集层&#xff09;是基础组件之一&#xff0c;用于执行输入数据的线性变换。通过这种变换&#xff0c;线性层可以重新组合输入数据的特征&#xff0c;并将其映射到新…

Android中常见内存泄漏的场景和解决方案

本文讲解Android 开发中常见内存泄漏场景及其解决方案&#xff0c;内容包括代码示例、原因分析以及最佳实践建议。 1. 静态变量导致的内存泄漏 静态变量的生命周期与应用进程一致&#xff0c;如果静态变量持有了对 Activity 或其他大对象的引用&#xff0c;就可能导致内存泄漏…

docker-compose 安装 pgsql (postgres)

docker-compose-pg.yml 文件内容 version: 3 services:iepms-gateway:image: postgres:14.13container_name: postgresql-14.13restart: alwaysprivileged: trueenvironment:- POSTGRES_PASSWORD: test2024ports:- 15432:5432volumes:- /home/iepms/data/pgsql/data:/var/lib/…

Python 小高考篇(4)循环语句

目录 for 循环一个参数两个参数三个参数 while 循环break和continue语句break语句自测总结结尾 本文由Jzwalliser原创&#xff0c;发布在CSDN平台上&#xff0c;遵循CC 4.0 BY-SA协议。 因此&#xff0c;若需转载/引用本文&#xff0c;请注明作者并附原文链接&#xff0c;且禁止…

小程序20-样式:自适应尺寸单位 rpx

手机设备的宽度逐渐多元化&#xff0c;也就需要开发者开发过程中&#xff0c;去适配不同屏幕宽度的手机&#xff0c;为了解决屏幕适配问题&#xff0c;微信小程序推出了 rpx 单位 rpx&#xff1a;小程序新增的自适应单位&#xff0c;可以根据不同设备的屏幕宽度进行自适应缩放 …

网络安全,文明上网(1)享科技,提素养

前言 在这个信息化飞速发展的时代&#xff0c;科技的快速进步极大地丰富了我们的生活&#xff0c;并为我们提供了无限的可能性。然而&#xff0c;随着网络世界的不断扩张&#xff0c;增强我们的网络素养成为了一个迫切需要解决的问题。 与科技同行&#xff0c;培育网络素养 技术…

豆瓣书摘 | 爬虫 | Python

获取豆瓣书摘&#xff0c;存入MongoDB中。 import logging import timeimport requests from bs4 import BeautifulSoup from pymongo import MongoClientheaders {accept: text/html,application/xhtmlxml,application/xml;q0.9,image/avif,image/webp,image/apng,*/*;q0.8,…

JVM垃圾回收算法详解

在Java开发中&#xff0c;JVM&#xff08;Java虚拟机&#xff09;的垃圾回收机制是自动管理内存的关键部分。垃圾回收器&#xff08;Garbage Collector, GC&#xff09;通过一系列算法判断哪些对象可以被回收&#xff0c;从而释放内存空间供新对象使用。本文将深入探讨JVM中的垃…