03 CSS技术

CSS 技术

文档:CSS2.0.ch

1.1CSS技术介绍

CSS 是「层叠样式表单」。是用于(增强)控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。

1.2 CSS语法规则


选择器:浏览器根据“选择器”决定受 CSS 样式影响的 HTML 元素(标签)。
属性 (property) 是你要改变的样式名,并且每个属性都有一个值。属性和值被冒号分开,并
由花括号包围,这样就组成了一个完整的样式声明(declaration),例如:p {color: blue}
多个声明:如果要定义不止一个声明,则需要用分号将每个声明分开。虽然最后一条声明的
最后可以不加分号(但尽量在每条声明的末尾都加上分号)

例如:

p{
    color:red;
​    font-size:30px;
}

注:一般每行只描述一个属性

CSS 注释:/*注释内容*/

1.3 CSS 和 HTML 的结合方

1.3.1 第一种:

在标签的 style 属性上设置”key:value value;”,修改标签样式。

<body>

  <!--
    需求 1:分别定义两个 div、span 标签,分别修改每个 div 标签的样式为:边框 1 个像素,实线,红色。
  -->

<div style="border: 1px solid red;">div1</div>
<div style="border: 1px solid red;">div2</div>
<span style="border: 1px solid red;">span1</span>
<span style="border: 1px solid red;">span2</span>
</body>

问题:这种方式的缺点?
1.如果标签多了。样式多了。代码量非常庞大。
2.可读性非常差。
3.Css 代码没什么复用性可方言。

1.3.2 第二种

在 head 标签中,使用 style 标签来定义各种自己需要的 css 样式。
格式如下:

xxx {
		Key : value value;
}
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <!-- style标签专门用来定义css样式代码-->
    <style type="text/css">
        div{
            /*    需求 1:分别定义两个 div、span 标签,分别修改每个 div 标签的样式为:边框 1 个像素,实线,红色。*/
            border: 1px solid red;
        }
        span{
            border: 1px solid red;
        }

    </style>

</head>
<body>

  <!--
    需求 1:分别定义两个 div、span 标签,分别修改每个 div 标签的样式为:边框 1 个像素,实线,红色。
  -->

<div>div1</div>
<div>div2</div>
<span>span1</span>
<span>span2</span>
</body>
</html>

问题:这种方式的缺点。
1.只能在同一页面内复用代码,不能在多个页面中复用 css 代码。
2.维护起来不方便,实际的项目中会有成千上万的页面,要到每个页面中去修改。工作量太大了。

1.3.1 第三种

把 css 样式写成一个单独的 css 文件,再通过 link 标签引入即可复用。
使用 html 的 <link rel="stylesheet" type="text/css" href="./styles.css" /标签 导入 css 样式文件

1、css文件内容

div{
    border: 1px solid red;
}
span{
    border: 1px solid red;
}

2、html文件代码

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <link rel="stylesheet" type="text/css" href="1.css"/>
</head>
<body>
<!--
  需求 1:分别定义两个 div、span 标签,分别修改每个 div 标签的样式为:边框 1 个像素,实线,红色。
-->

<div>div1</div>
<div>div2</div>
<span>span1</span>
<span>span2</span>
</body>
</html>

1.4 CSS选择器

1.4.1 标签名选择器

标签名选择器的格式是:

	标签名{
			属性:值;
	}

标签名选择器,可以决定哪些标签被动的使用这个样式

需求 1:在所有 div 标签上修改字体颜色为蓝色,字体大小 30 个像素。边框为 1 像素黄色实线。

并且修改所有 span 标签的字体颜色为黄色,字体大小 20 个像素。边框为 5 像素蓝色虚线。

<html>
<head>
	<meta charset="UTF-8">
	<title>CSS选择器</title>
	<style type="text/css">
		div{
			border: 1px solid yellow;
			color: blue;
			font-size: 30px;
		}
		span{
			border: 5px dashed blue;
			color: yellow;
			font-size: 20px;
		}
	</style>
</head>
<body>		
	
	
	<!-- 
	需求1:在所有div标签上修改字体颜色为蓝色,字体大小30个像素。边框为1像素黄色实线。
	并且修改所有span 标签的字体颜色为黄色,字体大小20个像素。边框为5像素蓝色虚线。
	 -->
	<div>div标签1</div>
	<div>div标签2</div>
	<span>span标签1</span>
	<span>span标签2</span>
	
</body>
</html>

1.4.2 id选择器

id 选择器的格式是:

#id 属性值{
	属性:值;
}

id 选择器,可以让我们通过 id 属性选择性的去使用这个样式。

<html>
<head>
	<meta charset="UTF-8">
	<title>ID选择器</title>
	<style type="text/css">
		#id001{
			color: blue;
			font-size: 30px;
			border: 1px solid yellow;
		}
		#id002{
			color: red;
			font-size: 20px;
			border: 5px dotted blue;
		}
	</style>
</head>
<body>		
	
	<!-- 
	需求1:分别定义两个 div 标签,
	第一个div 标签定义 id 为 id001 ,然后根据id 属性定义css样式修改字体颜色为蓝色,
	字体大小30个像素。边框为1像素黄色实线。
	
	第二个div 标签定义 id 为 id002 ,然后根据id 属性定义css样式 修改的字体颜色为红色,字体大小20个像素。边框为5像素蓝色点线。
	 -->
	
	<div id="id001">div标签1</div>
	<div id="id002">div标签2</div>
	
</body>
</html>

1.4.3 class选择器(类选择器)

class 类型选择器的格式是:

.class 属性值{
		属性:值;
}

class 类型选择器,可以通过 class 属性有效的选择性地去使用这个样式。

类可以有多个,id只能有一个

<head>
<meta charset="UTF-8">
<title>class类型选择器</title>
	<style type="text/css">
		.class01{
			color: blue;
			font-size: 30px;
			border: 1px solid yellow;
		}
		.class02{
			color: gray;
			font-size: 26px;
			border: 1px solid red;
		}
	</style>
</head>
<body>

	<!-- 
		需求1:修改 class 属性值为 class01的 span 或 div 标签,字体颜色为蓝色,字体大小30个像素。边框为1像素黄色实线。
		需求2:修改 class 属性值为 class02的 div 标签,字体颜色为灰色,字体大小26个像素。边框为1像素红色实线。
	 -->

	<div class="class01">div标签class01</div>
	<div class="class02">div标签</div>
	<span class="class01">span标签class01</span>
	<span>span标签2</span>

</body>
</html>

1.4.4 组合选择器

组合选择器的格式是:

选择器 1,选择器 2,选择器 n{
属性:值;
}
组合选择器可以让多个选择器共用同一个 css 样式代码

<html>
<head>
<meta charset="UTF-8">
<title>class类型选择器</title>
    <style type="text/css">
        .class01,#id01{
            color: blue;
            font-size: 20px;
            border: 1px yellow solid;
        }
    </style>
</head>
<body>

	<!-- 
	需求1:修改 class="class01" 的div 标签 和 id="id01" 所有的span标签,
	字体颜色为蓝色,字体大小20个像素。边框为1像素黄色实线。
	 -->

   <div class="class01">div标签class01</div> <br />
   <span id="id01">span 标签</span>  <br /> 
   <div>div标签</div> <br />
   <div>div标签id01</div> <br />

</body>
</html>

1.5常用样式

1、字体颜色
color:red;
颜色可以写颜色名如:black, blue, red, green 等
颜色也可以写 rgb 值和十六进制表示值:如 rgb(255,0,0),#00F6DE,如果写十六进制值必
须加#

2、宽度

width:19px;
宽度可以写像素值:19px;
也可以写百分比值:20%;

3、高度
height:20px;
高度可以写像素值:19px;
也可以写百分比值:20%;

4、背景颜色
background-color:#0F2D4C

5、字体样式:
color:#FF0000;字体颜色红色
font-size:20px; 字体大小

6、红色 1 像素实线边框
border:1px solid red;

7、DIV 居中
margin-left: auto;
margin-right: auto;

8、文本居中:
text-align: center;

9、超连接去下划线
text-decoration: none;

10、表格细线

table {

​	border: 1px solid black; /*设置边框*/border-collapse: collapse; /*将边框合并*/
}
td,th {
​	border: 1px solid black; /*设置边框*/
}

11、列表去除修饰

ul {
	list-style: none;
}

示例代码:

<html>
<head>
<meta charset="UTF-8">
<title>06-css常用样式.html</title>
    <style type="text/css">
        div{
            color: red;
            border: 1px yellow solid;
            width: 300px;
            height: 300px;
            background-color: green;
            font-size: 30px;
            margin-left: auto;
            margin-right: auto;
            text-align: center;
        }
        table{
            border: 1px solid red;
            border-collapse: collapse;
        }
        td{
            border:1px solid red;
        }
        a{
            text-decoration: none;
        }
        ul{
            list-style: none;
        }
    </style>
</head>
<body>

    <ul>
        <li>1111111</li>
        <li>1111111</li>
        <li>1111111</li>
        <li>1111111</li>
    </ul>

    <a href="www.baidu.com">百度</a>
    <table>
        <tr>
            <td>1.1</td>
            <td>1.2</td>
        </tr>
    </table>

    <div>我是 div</div>
</body>
</html>
posted @   flypiggg  阅读(55)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示