JAVAWeb 基础篇 CSS专题之:CSS&Html 三种结合方式:“内联方式、内部方式、外部方式”;CSS选择器;
概要:
<!DOCTYPE html>
<html lang="en">
<!--CSS: 页面美化和布局控制
1、概念:Cascading Style Sheets 层叠样式表
层叠:多个样式可以作用在同一个html的元素(标签)上,同时生效
2、好处:
1.功能强大
2.将内容展示和央视控制分离
* 降低耦合度,解耦。
* 让分工协作更容易
* 提高开发效率
3、CSS的使用:CSS与html的结合方式
1.内联样式;
2.内部样式;
* 在 head 标签内,定义 style 标签,style 标签的标签体内容就是CSS代码。
如:
* <style>
div{
color: blue;
}
</style>
* <div >Hello CSS ~!</div>
3.外部样式;
1. 定义 css资源文件。
2. 在 head 标签内,定义 linked 标签,引入外部资源文件。
如:
* a.css文件:
div{
color: black;
}
* <link rel="stylesheet" href="css/a.css">
* <div >Hello CSS ~!</div>
注意:
* 1,2,3 这 3 种方式 css 作用范围越来越大
* 1 方式不常用,后期常用 2,3
* 第 3 种方式可以写为:
<style>
@import "css/a.css";
</style>
4. CSS 基本语法:
* 格式:
选择器: {
属性名1:属性值1;
属性名2:属性值2;
...
}
* 选择器:筛选具有相似特征的元素
* 注意 :
* 每一对属性需要使用;隔开,最后一对属性可以不加;
5. 选择器
* 分类:
1.基础选择器:
1. id 选择器:选择器具体的 id 属性值的元素,建议在一个 html 页面中 id 值唯一。
*语法: #id属性值{}
2. 元素选择器: 选择具有相同标签名称的元素
* 语法: 标签名称{}
* 注意: id 选择器优先级高于元素选择器
3. 类选择器:选择具有相同的 class 属性值的元素
* 语法: .class属性值{}
* 注意: 类选择器优先级高于元素选择器
2.扩展选择器
1、选择所有元素:
* 语法 *{}
2、并集选择器:
* 选择器 1,选择器 2 {}
3、子选择器:筛选选择器 1 元素下的选择器 2
* 语法: 选择器 1 选择器 2 {}
4、父选择器:筛选选择器 2 的父元素选择器 1
* 语法: 选择器 1 > 选择器 2 {}
5、 属性选择器:选择元素名称,属性名=属性值的元素
* 语法: 元素名称[属性名="属性值"] {}
6、 伪类选择器:选择一些元素具有的状态
* 语法: 元素:状态{}
* 如:<a>
* 状态:
* link: 初始化的状态
* visited: 被访问的状态
* active: 正在访问状态
* hover: 鼠标悬浮状态
6. 常见属性
1.字体、文本
* font-size:字体大小
* color:文本颜色
* text-align:对齐方式
* line-height:行高
2.背景
* background: 背景
3.边框
* border:
4.尺寸
* width:宽度
* height: 高度
5.盒子模型(对某一个盒子来说)
* margin: 外边距
* padding: 内边距 (外边框的大小会变)
* box-sizing: border-box: 设置盒子的属性,让height&width就是盒子最终的大小
*float: 浮动属性
* left: 左浮动
* right: 右浮动
-->
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
</html>
CSS&Html 三种结合方式:内联方式、内部方式、外部方式
方式一:内联方式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>CSS&Html结合方式1</title>
</head>
<body>
<!--
内联样式:(不推荐使用)
* 在标签内使用 style 属性指定css代码。
-->
<div style="color: red;">Hello CSS ~!</div>
</body>
</html>
方式二:内部方式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>CSS&Html结合方式2</title>
<style>
div{
color: blue;
}
</style>
</head>
<body>
<!--
内部样式:
* 在 head 标签内,定义 style 标签,style 标签的标签体内容就是CSS代码。
-->
<div >Hello CSS ~!</div>
</body>
</html>
方式三:外部方式
先创建一个源文件夹css,然后在文件夹中创建a.css资源代码
div{
color: blue;
}
然后再用link调用:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>CSS&Html结合方式2</title>
<link rel="stylesheet" href="css/a.css">
</head>
<body>
<!--
外部样式:
1. 定义 css资源文件。
2. 在 head 标签内,定义 linked 标签,引入外部资源文件。
-->
<div >Hello CSS ~!</div>
</body>
</html>
第三种方式还可以写成这个样子:
这里把“” 换掉:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>CSS&Html结合方式2</title>
<!--<link rel="stylesheet" href="css/a.css">-->
<style>
@import "css/a.css";
</style>
</head>
<body>
<!--
外部样式:
1. 定义 css资源文件。
2. 在 head 标签内,定义 linked 标签,引入外部资源文件。
-->
<div >Hello CSS ~!</div>
</body>
</html>
CSS 选择器:
1.CSS 语法格式:
2.常用选择器:
- 基础选择器:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>基础选择器</title>
<style>
#div1{
color: blue;
}
div{
color: gold;
}
.cl1{
color: red;
}
</style>
</head>
<body>
<!-- 1.基础选择器:
1. id 选择器:选择器具体的 id 属性值的元素,建议在一个 html 页面中 id 值唯一。
*语法: #id属性值{}
2. 元素选择器: 选择具有相同标签名称的元素
* 语法: 标签名称{}
* 注意: id 选择器优先级高于元素选择器
3. 类选择器:选择具有相同的 class 属性值的元素
* 语法: .class属性值{}
* 注意: 类选择器优先级高于元素选择器
-->
<div id="div1">举头望明月,低头思故乡。</div>
<div>明月松间照,清泉石上流。</div>
<div class="cl1">飞流直下三千尺,疑是银河落九天。</div>
</body>
</html>
- 扩展选择器:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>扩展选择器</title>
<style>
div p{
color: red;
}
</style>
</head>
<body>
<div>
<p>前无古人,后无来者。</p>
</div>
<p>宫廷玉液酒,多少钱一杯?</p>
</body>
</html>
- 父选择器:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>父选择器</title>
<style>
div > p{/* 选择有 p 标签的父标签 div */
border: 1px solid;/* 加边框 */
}
</style>
</head>
<body>
<div>
<p> 前无古人,后无来者。 </p>
<p> 上面一行及这一行两行字就会有边框</p>
</div>
<p> 宫廷玉液酒,多少钱一杯? </p>
<div> 这一行字就没有边框,因为其中没有 p 标签。 </div>
</body>
</html>
- 属性选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>属性选择器</title>
<style>
input[type="text"]{/*这里只选择了属性值 type 为 text 的输入框,而没有选择其他的,比如 type 为 password 的*/
border: 10px solid;
}
</style>
</head>
<body>
<input type="text">
<input type="password">
</body>
</html>
- 伪类选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>伪类选择器</title>
<style>
a:link{
color: pink;
}
a:hover{
color: blue;
}
a:active{
color: black;
}
a:visited{
color: gold;
}
</style>
</head>
<body>
<br>
<a href="#">白日依山尽jinjinjin,黄河入海流liuliuliu。</a>
</body>
</html>
CSS常见属性
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>CSS常见属性</title>
<style>
p{/* 文本字体的常见属性 */
color: gold;
font-size: 19px;
text-height:30px;
text-align: center;
line-height: 100px;
/* 边框 */
border: 1px solid red;
}
div{/* 尺寸的常见属性 */
border: 1px solid red;
height: 100px;
width: 400px;
/* 背景 */
background: url("image/p1.jpg") center ;
}
</style>
</head>
<body>
<p>文本字体</p>
<div>尺寸</div>
</body>
</html>
-盒子模型
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>盒子模型</title>
<style>
div{
border: 1px solid red;
}
.div1{
height: 100px;
width: 100px;
/* 外边距 */
/* margin: 50px; */
}
.div2{
height: 200px;
width: 200px;
/* 内边距 */
padding: 50px;/* 此情况下外边框的大小会变
解决方法:设置盒子的属性,让height&width就是盒子最终的大小,即:
box-sizing: border-box; */
}
</style>
</head>
<body>
<p>通过对两个边框的间距操控来达到居中的效果</p>
<div class="div2">
<div class="div1"></div>
</div>
</body>
</html>
- 浮动
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>浮动</title>
<style>
div{
width: 100px;
border: 1px solid;
}
/*这里可以解开注释观看不同之处哦~!
.div1{
float: left;
}
.div2{
float: left;
}
.div3{
float: right;
}*/
</style>
</head>
<body>
<div class="div1">aaaaa</div>
<div class="div2">bbbbb</div>
<div class="div3">ccccc</div>
</body>
</html>