初学前端CSS教案(理论+代码+效果图)

文章目录:

一:前言

1.什么是CSS呢?

2.环境

3.HTML5相关

4.瞅瞅CSS代码样式什么样?

二:编码规范

1.声明

2.注释

3.选择器

3.1 块元素选择器{}

3.2 id选择器 " # "

3.3 class选择器 " . "

3.4 通用选择器 " * " 

3.5 属性选择器

3.6 多个class选择器

4.样式表

4.1 外部样式表(External style sheet)

4.2 内部样式表(Internal style sheet)

4.3 内联样式 (Inline style)

4.4 优先级: 内联样式>内部样式表>外部样式表

三:常用CSS基础语法

1.尺寸

2.BackGround背景

2.1 背景颜色

2.2 背景图片 

3.Text文本

4.Fonts字体

5.Link链接

6.列表(有序 无序)

7.表格Table

8.盒子Div

8.1 Border边框

8.2 Outline轮廓

8.3 Margin外边框

8.4 Padding内边距填充

9.块与内联元素

10.显示隐藏

11.位置相关

11.1 Position定位

11.2 Overflow内容溢出显示方式

11.3 Float浮动

11.4 对齐方式

12.导航栏

13.下拉菜单

14.表单Input

15.视频video

16.权重!important(初学了解)

 17.图片廊(初学了解)

18.计数器(初学了解)

四:后期学习建议


一:前言

1.什么是CSS呢?

什么是CSS?        答:层叠样式表 (Cascading Style Sheets)。就是修饰样式的一种编码规范 
    



扩展:Html5、CSS3、JS的区别和关系
                           学习顺序                               以鲤鱼游泳为例子                                        
    Html:骨架             第一步(demo.html)                     画鱼的轮廓骨架
    
    CSS:修饰样式          第二步(demo.css)                   给鱼上颜色,修饰线条样式,加阴影....

    JS:动态               第三步(demo.js)                       让鱼游动起来




学习版本也在不断更新(里面有很多功能的丰富化扩展),比如:
    HTML——>H5
    CSS ——>C3

2.环境

1.运行环境:系统(Windows、linux、unix....)+浏览器(谷歌、火狐、Edge.....)

2.编辑环境:vscode 、HBuilderX、WebStorm、Sublime Text、.Notepad++中文版.、记事本......

如果不想安装软件(就用记事本)
    第一步:新建记事本        (demo.text)
    第二步:写好代码
    第三步:另存为网页格式    (demo.html)
    第四步:点击运行,会在浏览器打开

 

3.HTML5相关

HTML大致框架

<!-- 声明:让浏览器能够正确地渲染页面 -->
<!DOCTYPE html>
<html>
	<!--头-->
	<head>
		<!--编码格式-->
		<meta charset="utf-8">
		<!--标题-->
		<title></title>
		<!--样式-->
		<style>
            ..........
		</style>
		<!--样式-->
	</head>
	<!--头-->

	<!--身体-->
	<body>
		<h2>标签</h2>
		<p>文本</p>
		<div class="dropdown">盒子</div>
		<button class="dropbtn">按钮</button>
		<a href="http://www.baidu.com">超链接</a>
        ........
	</body>
	<!--身体-->
</html>

4.瞅瞅CSS代码样式什么样?

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>四川文轩职业技术学院</title>
		<style>
			body {background-color:yellow;}
			h1   {font-size:36pt;}
			h2   {color:blue;}
			p    {margin-left:50px;}
		</style>
	</head>

	<body>

		<h1>这个标题设置的大小为 36 pt</h1>
		<h2>这个标题设置的颜色为蓝色:blue</h2>

		<p>这个段落的左外边距为 50 像素:50px</p> 

	</body>
</html>

运行效果展示

二:编码规范

1.声明

p{color:red;text-align:center;}

p
{
    color:red;
    text-align:center;
}



声明
    声明范围:大括号 {} 括起来            
    声明=属性:值
    声明总是以分号 ;结束

2.注释

//这是个注释


/*这是个注释*/


<!-- 这是个注释 -->

3.选择器

3.1 块元素选择器{}

p{ }: 为所有 p 元素指定一个样式


.marked{ }: 为所有 class="marked" 的元素指定一个样式


.marked p{ }: 为所有 class="marked" 元素内的 p 元素指定一个样式


p.marked{ }: 为所有 class="marked" 的 p 元素指定一个样式


后代选择器(以空格     分隔)
    div p
    {
      background-color:yellow;
    }


子元素选择器(以大于 > 号分隔)
    div>p
    {
      background-color:yellow;
    }


相邻兄弟选择器(以加号 + 分隔)
    div+p
    {
      background-color:yellow;
    }


普通兄弟选择器(以波浪号 ~ 分隔)
    div~p
    {
      background-color:yellow;
    }

举例 

h1,h2,p
{
	color:green;
}




<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8"> 
	<title>元素选择器(runoob.com)</title> 
	<style>
		body {color:red;}
		h1 {color:#00ff00;}
		p.ex {color:rgb(0,0,255);}
	</style>
	</head>

	<body>
		<h1>这是标题 1</h1>
		<p>这是一个普通的段落。请注意,本文是红色的。页面中定义默认的文本颜色选择器。</p>
		<p class="ex">这是一个类为"ex"的段落。这个文本是蓝色的。</p>
	</body>
</html>

3.2 id选择器 " # "

#para1
{
    text-align:center;
    color:red;
}

 代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8"> 
		<title>id 选择器(runoob.com)</title> 
		<style>
			#para1
			{
				text-align:center;
				color:red;
			} 
		</style>
	</head>

	<body>
		<p id="para1">Hello World!</p>
		<p>这个段落不受该样式的影响。</p>
	</body>
</html>

运行效果展示

3.3 class选择器 " . "

所有            .center {text-align:center;}
特定            p.center {text-align:center;}

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8"> 
		<title>class选择器(runoob.com)</title> 
		<style>
			p.center
			{
				text-align:center;
			}
		</style>
	</head>

	<body>
		<h1 class="center">这个标题不受影响</h1>
		<p class="center">这个段落居中对齐。</p> 
	</body>
</html>

运行效果展示

3.4 通用选择器 " * " 

所有设置

*{
	color:#ff0000;
}

3.5 属性选择器

 包含标题(title)的所有元素变为蓝色

[title]
{
    color:blue;
}

标题title='runoob'元素的边框样式

[title=runoob]
{
    border:5px solid green;
}

包含指定值的title属性的元素

[title~=hello] { color:blue; }




<h1 title="hello world">Hello world</h1>
<p title="student hello">Hello CSS students!</p>

3.6 多个class选择器

多个 class 选择器可以使用空格分开

代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8"> 
		<title>多个 class 选择器可以使用空格分开(runoob.com)</title> 
		<style>
			.center {
				text-align:center;
			}
			.color {
				color:#ff0000;
			}
		</style>
	</head>

<body>
	<h1 class="center">标题居中</h1>
	<p class="center color">段落居中,颜色为红色。</p> 
</body>
</html>

运行效果展示

4.样式表

4.1 外部样式表(External style sheet)

适用于:给很多页面加样式


<link rel="stylesheet" type="text/css" href="mystyle.css">
浏览器会从文件 mystyle.css 中读到样式声明

4.2 内部样式表(Internal style sheet)

适用于:单个文档需要特殊的样式时


<head>
    <style>
        hr {color:sienna;}
        p {margin-left:20px;}
        body {background-image:url("images/back40.gif");}
    </style>
</head>

4.3 内联样式 (Inline style)

使用于:当样式仅需要在一个元素上应用一次时


<p style="color:sienna;margin-left:20px">这是一个段落</p>

4.4 优先级: 内联样式>内部样式表>外部样式表

代码 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>内部样式与外部样式(runoob.com)</title>
			<!-- 外部样式 style.css -->
		<link rel="stylesheet" type="text/css" href="https://static.runoob.com/assets/css/css-howto/style.css"/>
			<!-- 设置:h3{color:blue;} -->
		<style type="text/css">
			/* 内部样式 */
			h3{color:green;}
		</style>
	</head>
	
	
	<body>
		<h3 style="color:sienna;margin-left:20px">显示绿色,是内部样式</h3>
	</body>
</html>

 运行结果

三:常用CSS基础语法

1.尺寸

height	    设置元素的高度
line-height	设置行高
max-height	设置元素的最大高度
max-width	设置元素的最大宽度
min-height	设置元素的最小高度
min-width	设置元素的最小宽度
width	    设置元素的宽度




normal    默认。设置合理的行间距
number    设置数字,此数字会与当前的字体尺寸相乘来设置行间距
length    设置固定的行间距                                                 100px    en
%         基于当前字体尺寸的百分比行间距                                    90%

2.BackGround背景

body {background:#ffffff url('img_tree.png') no-repeat right top;} 



属性值的顺序为:
    background-color
    background-image
    background-repeat
    background-attachment
    background-position

2.1 背景颜色

body
{
	background-color:#b0c4de;
}

设置颜色方法

方法一:十六进制                 如:"#ff0000" #00ff00
方法二:RGB                      如:"rgb(255,0,0)" rgb(255,0,255)
方法三:颜色名称                 如:"red" 红色red,橙色orange,黄色yellow,绿色green
                                     蓝色blue,紫色purple,灰色gray,粉色pink 
                                     黑色black,白色white,棕色brown

2.2 背景图片 

body 
{
	background-image:url('https://static.runoob.com/images/mix/paper.gif');
}


body {background-image:url('https://static.runoob.com/images/mix/bgdesert.jpg');}


body
{
	background-image:url('https://static.runoob.com/images/mix/gradient2.png');
	background-repeat:repeat-x;         指定如何重复背景图像
        repeat:背景图像将向垂直和水平方向重复。这是默认
        repeat-x:只有水平位置会重复背景图像
        repeat-y:只有垂直位置会重复背景图像
        no-repeat:background-image 不会重复
        inherit:指定 background-repeat 属性设置应该从父元素继承

    background-position:right top;      改变图像在背景中的位置
        left top
        left center
        left bottom
        right top
        right center
        right bottom
        center top
        center center
        center bottom

    background-size:80px 60px;           改变图像大小
        background-size: 50% 50%
        background-size: 3em
        background-size: 12px
        background-size: auto

    background-origin:content-box;       指定背景图像的定位区域
        padding-box:背景图像填充框的相对位置
        border-box:背景图像边界框的相对位置
        content-box:背景图像的相对位置的内容框

    background-clip:content-box;         指定背景图像的绘画区域
        border-box:默认值。背景绘制在边框方框内(剪切成边框方框)
        padding-box:背景绘制在衬距方框内(剪切成衬距方框)
        content-box:背景绘制在内容方框内(剪切成内容方框)

    background-attachment:fixed;          设置背景图像是否固定或者随着页面的其余部分滚动
        scroll:背景图片随着页面的滚动而滚动,这是默认的
        fixed:背景图片不会随着页面的滚动而滚动
        local:背景图片会随着元素内容的滚动而滚动

    background-image:url('paper.gif');    指定要使用的一个或多个背景图像
        url('URL'):图像的URL
        none:无图像背景会显示。这是默认
        linear-gradient():创建一个线性渐变的 "图像"(从上到下)
        radial-gradient():用径向渐变创建 "图像"。 (center to edges)
        repeating-linear-gradient():创建重复的线性渐变 "图像"
        repeating-radial-gradient():创建重复的径向渐变 "图像"
}

3.Text文本

color	                                设置文本颜色
    body {
        color:red;
    }
    h1 {
        color:#00ff00;
    }
    p {
        color:rgb(0,0,255);
    }


direction:rtl;	                        设置文本方向
    ltr:默认。文本方向从左到右
    rtl:文本方向从右到左


 h1 {letter-spacing:2px}                 设置字符间距
    px:大小单位
    normal:默认。规定字符间没有额外的空间
    length:定义字符间的固定空间(允许使用负值)


p.small {line-height:90%}                设置行高
    %:基于当前字体尺寸的百分比行间距
    length:设置固定的行间距
    number:设置数字,此数字会与当前的字体尺寸相乘来设置行间距
    normal:默认。设置合理的行间距


h1 {text-align:center}                    元素设置文本的对齐方式
    left:把文本排列到左边。默认值:由浏览器决定
    right:把文本排列到右边
    center:把文本排列到中间    
    justify:实现两端对齐文本效果
    inherit:规定应该从父元素继承 text-align 属性的值


h1 {text-decoration:overline}              设置文本修饰
    none:默认。定义标准的文本
    underline:定义文本下的一条线
    overline:定义文本上的一条线
    line-through:定义穿过文本下的一条线
    blink:定义闪烁的文本
    inherit:规定应该从父元素继承 text-decoration 属性的值


p{text-indent:50px;}                        缩进元素中文本的首行
    length:定义固定的缩进。默认值:0
    %:定义基于父元素宽度的百分比的缩进


h1{text-shadow: 2px 2px #ff0000;}            设置文本阴影
text-shadow: h-shadow v-shadow blur color;
    h-shadow:必需。水平阴影的位置。允许负值
    v-shadow:必需。垂直阴影的位置。允许负值
    blur:可选。模糊的距离
    color:可选。阴影的颜色


h1 {text-transform:uppercase;}                控制元素中的字母
    none:默认。定义带有小写字母和大写字母的标准的文本
    capitalize:文本中的每个单词以大写字母开头
    uppercase:定义仅有大写字母
    lowercase:定义无大写字母,仅有小写字母


unicode-bidi:bidi-override;                   设置或返回文本是否被重写
unicode-bidi: normal|embed|bidi-override|initial|inherit;
    normal:默认。不使用附加的嵌入层面
    embed:创建一个附加的嵌入层面
    bidi-override:创建一个附加的嵌入层面。重新排序取决于 direction 属性
    initial:设置该属性为它的默认值


vertical-align:text-top;                      设置元素的垂直对齐
    baseline:默认。元素放置在父元素的基线上
    sub:垂直对齐文本的下标
    super:垂直对齐文本的上标
    top:把元素的顶端与行中最高元素的顶端对齐
    text-top:把元素的顶端与父元素字体的顶端对齐
    middle:把此元素放置在父元素的中部
    bottom:使元素及其后代元素的底部与整行的底部对齐
    text-bottom:把元素的底端与父元素字体的底端对齐
    length:将元素升高或降低指定的高度,可以是负数
    %:使用 "line-height" 属性的百分比值来排列此元素。允许使用负值


white-space:nowrap;                            设置元素中空白的处理方式
    normal:默认。空白会被浏览器忽略
    pre:空白会被浏览器保留。其行为方式类似 HTML 中的 <pre> 标签
    nowrap:文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止
    pre-wrap:保留空白符序列,但是正常地进行换行
    pre-line:合并空白符序列,但是保留换行符


word-spacing:30px;                              设置字间距
    normal:默认。定义单词间的标准空间
    length:定义单词间的固定空间

4.Fonts字体

p.italic {font-style:italic}          字体样式
    normal:默认值。浏览器显示一个标准的字体样式
    italic:浏览器会显示一个斜体的字体样式
    oblique:浏览器会显示一个倾斜的字体样式


p.thick {font-weight:bold;}           字体粗细
    normal:默认值。定义标准的字符
    bold:定义粗体字符
    bolder:定义更粗的字符
    lighter:定义更细的字符
    100~900:定义由细到粗的字符。400 等同于 normal,而 700 等同于 bold


h1 {font-size:250%}                   字体大小
    smaller:把 font-size 设置为比父元素更小的尺寸
    larger:把 font-size 设置为比父元素更大的尺寸
    length:把 font-size 设置为一个固定的值            px  em
    %:把 font-size 设置为基于父元素的一个百分比值
    small     x-small    xx-small
    medium    x-large    xx-large


p.small {line-height:90%}             字体高度
    normal:默认。设置合理的行间距
    number:设置数字,此数字会与当前的字体尺寸相乘来设置行间距
    length:设置固定的行间距
    %:基于当前字体尺寸的百分比行间距

5.Link链接

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8"> 
		<title>link链接</title> 
		<style>
			a:link {color:#000000;}      /* 未访问链接*/
			a:visited {color:#00FF00;}   /* 已访问链接 */
			a:hover {color:#FF00FF;}  	 /* 鼠标移动到链接上 */
			a:active {color:#0000FF;}    /* 鼠标点击时 */
		</style>
	</head>
	
	<body>
		<p><b><a href="https://www.baidu.com" target="_blank">这是一个链接</a></b></p>
		<p><b>注意:</b> a:hover 必须在 a:link 和 a:visited 之后,需要严格按顺序才能看到效果。</p>
		<p><b>注意:</b> a:active 必须在 a:hover 之后。</p>
	</body>
</html>

6.列表(有序 无序)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8"> 
		<title>菜鸟教程(runoob.com)</title> 
		<style>
			ul {list-style-position: inside;}
				//inside:列表项目标记放置在文本以内,且环绕文本根据标记对齐
				//outside:默认值。保持标记位于文本的左侧。列表项目标记放置在文本以外,且环绕文本不根据标记对齐
			ul.a {list-style-type:circle;}
			ul.b {list-style-type:square;}
			ul.c{list-style-image:url('sqpurple.gif');}
			ul.d{list-style:square url("sqpurple.gif");}
			ul.e {
			  list-style-type: none;
			  margin: 0;
			  padding: 0;
			}
			ol.c {list-style-type:upper-roman;}
			ol.d {list-style-type:lower-alpha;}
		</style>
	</head>

	<body>
		<p>无序列表实例:</p>

		<ul class="a">
		  <li>Coffee</li>
		  <li>Tea</li>
		  <li>Coca Cola</li>
		</ul>

		<ul class="b">
		  <li>Coffee</li>
		  <li>Tea</li>
		  <li>Coca Cola</li>
		</ul>
		
		<ul class="c">
		  <li>Coffee</li>
		  <li>Tea</li>
		  <li>Coca Cola</li>
		</ul>
		
		<ul class="d">
		  <li>Coffee</li>
		  <li>Tea</li>
		  <li>Coca Cola</li>
		</ul>
		
		<ul class="e">
		  <li>Coffee</li>
		  <li>Tea</li>
		  <li>Coca Cola</li>
		</ul>
		
		<p>有序列表实例:</p>
		<ol class="c">
		  <li>Coffee</li>
		  <li>Tea</li>
		  <li>Coca Cola</li>
		</ol>

		<ol class="d">
		  <li>Coffee</li>
		  <li>Tea</li>
		  <li>Coca Cola</li>
		</ol>
	</body>
</html>

7.表格Table

表格边框
    table, th, td
    {
        border: 1px solid black;
    }


折叠边框
    table
    {
        border-collapse:collapse;
    }


表格宽度和高度
    table 
    {
        width:100%;
    }
    th
    {
        height:50px;
    }


表格文字对齐
    td
    {
        text-align:right;
        //vertical-align:bottom;
    }


表格填充
    td
    {
        padding:15px;
    }


表格颜色
    th
    {
        background-color:green;
        color:white;
    }

例子

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8"> 
		<title>表格Table(runoob.com)</title>
		<style>
			table, td, th
			{
				border:1px solid green;
			}
			th
			{
				background-color:green;
				color:white;
			}
		</style>
	</head>

	<body>
		<table>
			<tr>
				<th>Firstname</th>
				<th>Lastname</th>
				<th>Savings</th>
			</tr>
			<tr>
				<td>Peter</td>
				<td>Griffin</td>
				<td>$100</td>
			</tr>
			<tr>
				<td>Lois</td>
				<td>Griffin</td>
				<td>$150</td>
			</tr>
			<tr>
				<td>Joe</td>
				<td>Swanson</td>
				<td>$300</td>
			</tr>
			<tr>
				<td>Cleveland</td>
				<td>Brown</td>
				<td>$250</td>
			</tr>
		</table>
	</body>
</html>

8.盒子Div

Margin(外边距) - 清除边框外的区域,外边距是透明的

Border(边框) - 围绕在内边距和内容外的边框

Padding(内边距) - 清除内容周围的区域,内边距是透明的

Content(内容) - 盒子的内容,显示文本和图像

 

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8"> 
	<title>盒子div(runoob.com)</title>
		<style>
			div {
				background-color: lightgrey;
				width: 300px;
				border: 25px solid green;
				padding: 25px;
				margin: 25px;
			}
		</style>	
	</head>
	
	<body>
		<div>这里是盒子内的实际内容。有 25px 内间距,25px 外间距、25px 绿色边框。</div>
	</body>
</html>

8.1 Border边框

border:5px solid red;

边框宽度 border-width 

p.one
{
    border-style:solid;
    border-width:5px;
}
p.two
{
    border-style:solid;
    border-width:medium;
}

边框-单独设置各边

p
{
    border-top-style:dotted;
    border-right-style:solid;
    border-bottom-style:dotted;
    border-left-style:solid;
}

边框颜色 border-color

p.one
{
    border-style:solid;
    border-color:red;
}
p.two
{
    border-style:solid;
    border-color:#98bf21;
}

8.2 Outline轮廓

设置所有的轮廓属性 

p {
    outline:#00FF00 dotted thick;
}

设置轮廓的颜色 

p {
	outline-style:dotted;
	outline-color:#00ff00;
	}

设置轮廓的样式

p {
	outline-style:dotted;
	}

设置轮廓的宽度

p {
    outline-style:dotted;
    outline-width:5px;
}

8.3 Margin外边框

margin-top:100px;
margin-bottom:100px;
margin-right:50px;
margin-left:50px;



margin:25px 50px 75px 100px;
    上边距为25px
    右边距为50px
    下边距为75px
    左边距为100px
margin:25px 50px 75px;
    上边距为25px
    左右边距为50px
    下边距为75px
margin:25px 50px;
    上下边距为25px
    左右边距为50px
margin:25px;
    所有的4个边距都是25px

8.4 Padding内边距填充

padding-top:25px;
padding-bottom:25px;
padding-right:50px;
padding-left:50px;


padding:25px 50px 75px 100px;
    上填充为25px
    右填充为50px
    下填充为75px
    左填充为100px
padding:25px 50px 75px;
    上填充为25px
    左右填充为50px
    下填充为75px
padding:25px 50px;
    上下填充为25px
    左右填充为50px
padding:25px;
    所有的填充都是25px

9.块与内联元素

块元素:是一个元素,占用了全部宽度,在前后都是换行符
    <h1>
    <p>
    <div>


内联元素:只需要必要的宽度,不强制换行
    <span>
    <a>
改内联元素为块元素  :li{display:inline;}


把span元素作为块元素:span{display:block;}

10.显示隐藏

h1.hidden {visibility:hidden;}        隐藏的元素仍需占用与未隐藏之前一样的空间


h1.hidden {display:none;}             隐藏的元素不会占用任何空间

11.位置相关

11.1 Position定位

静态定位:position: static;
    HTML 元素的默认值,即没有定位,遵循正常的文档流对象
    静态定位的元素不会受到 top, bottom, left, right影响


固定定位:position:fixed;
    元素的位置相对于浏览器窗口是固定位置
    即使窗口是滚动的它也不会移动


相对定位:position:relative    left:-20px;
    相对定位元素的定位是相对其正常位置


绝对定位:position:absolute;    left:100px;    top:150px;
    绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于<html>


粘性定位:  position: -webkit-sticky;    position: sticky;    top: 0;
    基于用户的滚动位置来定位


重叠:z-index:-1;
    如果两个定位元素重叠,没有指定z - index,最后定位在HTML代码中的元素将被显示在最前面

11.2 Overflow内容溢出显示方式

overflow: visible;


visible	    默认值。内容不会被修剪,会呈现在元素框之外
hidden	    内容会被修剪,并且其余内容是不可见的
scroll	    内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容
auto	    如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容
inherit	    规定应该从父元素继承 overflow 属性的值

11.3 Float浮动

会使元素向左或向右移动,其周围的元素也会重新排列

往往是用于图像,但它在布局时一样非常有用


float:right;
float:left;
clear:both;        //清除浮动

11.4 对齐方式

文本居中对齐                         text-align: center;


元素居中对齐,图片居中对齐            margin: auto;


左右对齐 - 使用定位方式               position: absolute;
左右对齐                              float: right;


垂直居中对齐                          padding: 70px 0;
垂直居中                              line-height: 200px;
垂直居中                              transform: translate(-50%, -50%);

12.导航栏

导航栏=链接列表

<ul>
  <li><a href="#home">主页</a></li>
  <li><a href="#news">新闻</a></li>
  <li><a href="#contact">联系</a></li>
  <li><a href="#about">关于</a></li>
</ul>
删除边距和填充
    ul {
        list-style-type: none;
        margin: 0;
        padding: 0;
    }

垂直导航栏

a
{
    display:block;
    width:60px;
}

 横向导航栏

li
{
    display:inline;
}

默认激活/当前导航条active

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>激活/当前导航条(runoob.com)</title>
		<style>
			ul {
				list-style-type: none;
				margin: 0;
				padding: 0;
				width: 200px;
				background-color: #f1f1f1;
			}

			li a {
				display: block;
				color: #000;
				padding: 8px 16px;
				text-decoration: none;
			}

			li a.active {
				background-color: #4CAF50;
				color: white;
			}

			li a:hover:not(.active) {
				background-color: #555;
				color: white;
			}
		</style>	
	</head>
	
	<body>
		<h2>垂直导航条</h2>
		<p>在点击了选项后,我们可以添加 "active" 类来标准哪个选项被选中。</p>

		<ul>
		  <li><a class="active" href="#home">主页</a></li>
		  <li><a href="#news">新闻</a></li>
		  <li><a href="#contact">联系</a></li>
		  <li><a href="#about">关于</a></li>
		</ul>
	</body>
</html>

全屏高度的固定导航条

ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    width: 25%;
    background-color: #f1f1f1;
    height: 100%; /* 全屏高度 */
    position: fixed; 
    overflow: auto; /* 如果导航栏选项多,允许滚动 */
}

浮动链接宽度相等

li
{
    float:left;
}
a
{
    display:block;
    width:60px;
}

链接右对齐

<ul>
  <li><a href="#home">主页</a></li>
  <li><a href="#news">新闻</a></li>
  <li><a href="#contact">联系</a></li>
  <li style="float:right"><a class="active" href="#about">关于</a></li>
</ul>

添加分割线

/* 除了最后一个选项(last-child) 其他的都添加分割线 */

li {
    border-right: 1px solid #bbb;
}
 
li:last-child {
    border-right: none;
}

固定导航条

ul {
    position: fixed;
    top: 0;
    width: 100%;
}

13.下拉菜单

<!DOCTYPE html>
<html>
	<head>
		<title>下拉菜单</title>
		<meta charset="utf-8">
		<style>
			/* 下拉按钮样式 */
			.dropbtn {
				background-color: #4CAF50;
				color: white;
				padding: 16px;
				font-size: 16px;
				border: none;
				cursor: pointer;
			}
			/* 容器 <div> - 需要定位下拉内容 */
			.dropdown {
				position: relative;
				display: inline-block;
			}
			/* 下拉内容 (默认隐藏) */
			.dropdown-content {
				display: none;
				position: absolute;
				background-color: #f9f9f9;
				min-width: 160px;
				box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
			}
			/* 下拉菜单的链接 */
			.dropdown-content a {
				color: black;
				padding: 12px 16px;
				text-decoration: none;
				display: block;
			}
			/* 鼠标移上去后修改下拉菜单链接颜色 */
			.dropdown-content a:hover {background-color: #f1f1f1}
			/* 在鼠标移上去后显示下拉菜单 */
			.dropdown:hover .dropdown-content {
				display: block;
			}
			/* 当下拉内容显示后修改下拉按钮的背景颜色 */
			.dropdown:hover .dropbtn {
				background-color: #3e8e41;
			}
		</style>
	</head>

	<body>
		<h2>下拉菜单</h2>
		<p>鼠标移动到按钮上打开下拉菜单。</p>

		<div class="dropdown">
		  <button class="dropbtn">下拉菜单</button>
		  <div class="dropdown-content">
			<a href="http://www.baidu.com">计算机应用1班</a>
			<a href="http://www.baidu.com">计算机应用2班</a>
			<a href="http://www.baidu.com">计算机应用3班</a>
		  </div>
		</div>
	</body>
</html>

运行效果

 

14.表单Input

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8"> 
		<title>表单input</title> 
	</head>
	
	<style>
		input[type=text], select {
		  width: 100%;
		  padding: 12px 20px;
		  margin: 8px 0;
		  display: inline-block;
		  border: 1px solid #ccc;
		  border-radius: 4px;
		  box-sizing: border-box;
		}

		input[type=submit] {
		  width: 100%;
		  background-color: #4CAF50;
		  color: white;
		  padding: 14px 20px;
		  margin: 8px 0;
		  border: none;
		  border-radius: 4px;
		  cursor: pointer;
		}

		input[type=submit]:hover {
		  background-color: #45a049;
		}

		div {
		  border-radius: 5px;
		  background-color: #f2f2f2;
		  padding: 20px;
		}
	</style>

	<body>
		<h3>使用 CSS 来渲染 HTML 的表单元素</h3>

		<div>
		  <form>
			<label for="fname">姓</label>
			<input type="text" id="fname" name="firstname" placeholder="Your name..">

			<label for="lname">名</label>
			<input type="text" id="lname" name="lastname" placeholder="Your last name..">

			<label for="country">省份</label>	
			<select id="country" name="country">
			  <option value="australia">成都</option>
			  <option value="canada">绵阳</option>
			  <option value="usa">都江堰</option>
			</select>

			<input type="submit" value="按钮">
		  </form>
		</div>
	</body>
</html>

运行效果

15.视频video

<!DOCTYPE html>
<html>
<head>
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta charset="utf-8"> 
	<title>视频(runoob.com)</title> 
	<style>
		video {
			max-width: 100%;
			height: auto;
		}
	</style>
	</head>
	
	<body>
		<video width="400" controls>
		    <source src="G:/Game/test.mp4" type="video/mp4">
		  <source src="G:/Game/test.mp4" type="video/ogg">
		  Your browser does not support HTML5 video.
		</video>
	</body>
</html>

 运行效果

16.权重!important(初学了解)

与优先级无关,但它与最终的结果直接相关,使用一个 !important 规则时(权重最大),此声明将覆盖任何其他样式

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>权重!important(</title>
		<style>
			#myid {
			  background-color: blue;
			}

			.myclass {
			  background-color: gray;
			}

			p {
			  background-color: red !important;
			}
		</style>
	</head>
	
	<body>
	<p>都会显示红色,因为 !important 作用,你可以删除该规则来看看效果。</p>
	<p class="myclass">都会显示红色,因为 !important 作用,你可以删除该规则来看看效果。</p>
	<p id="myid">都会显示红色,因为 !important 作用,你可以删除该规则来看看效果。</p>
	</body>
</html>

运行效果

 17.图片廊(初学了解)

别看着复杂其实就是相互嵌套,设置不同的样式 

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8"> 
	<title>图片廊</title>  
	<style>
		div.img {
			margin: 5px;
			border: 1px solid #ccc;
			float: left;
			width: 180px;
		}

		div.img:hover {
			border: 1px solid #777;
		}

		div.img img {
			width: 100%;
			height: auto;
		}

		div.desc {
			padding: 15px;
			text-align: center;
		}
	</style>
	</head>

	<body>
		<div class="responsive">
		  <div class="img">
			<a target="_blank" href="http://static.runoob.com/images/demo/demo1.jpg">
			  <img src="http://static.runoob.com/images/demo/demo1.jpg" alt="图片文本描述" width="300" height="200">
			</a>
			<div class="desc">这就是爱情</div>
		  </div>
		</div>

		<div class="responsive">
		  <div class="img">
			<a target="_blank" href="http://static.runoob.com/images/demo/demo2.jpg">
			  <img src="http://static.runoob.com/images/demo/demo2.jpg" alt="图片文本描述" width="300" height="200">
			</a>
			<div class="desc">诗和远方</div>
		  </div>
		</div>

		<div class="responsive">
		  <div class="img">
			<a target="_blank" href="http://static.runoob.com/images/demo/demo3.jpg">
			  <img src="http://static.runoob.com/images/demo/demo3.jpg" alt="图片文本描述" width="300" height="200">
			</a>
			<div class="desc">彼岸</div>
		  </div>
		</div>

		<div class="responsive">
		  <div class="img">
			<a target="_blank" href="http://static.runoob.com/images/demo/demo4.jpg">
			  <img src="http://static.runoob.com/images/demo/demo4.jpg" alt="图片文本描述" width="300" height="200">
			</a>
			<div class="desc">初见仙门</div>
		  </div>
		</div>
	</body>
</html>

运行效果

 

透明/不透明

//透明
img
{
  opacity:0.4;
  filter:alpha(opacity=40); /*  IE8 及其更早版本 */
}


//悬停
img:hover
{
  opacity:1.0;
  filter:alpha(opacity=100); /* IE8 及其更早版本 */
}

18.计数器(初学了解)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>计数器(runoob.com)</title>
		<style>
			body {
			  counter-reset: section;
			}

			h2::before {
			  counter-increment: section;
			  content: "班级 " counter(section) ": ";
			}
		</style>
	</head>
	
	<body>
		<h1>班级顺序:</h1>
		<h2>计算机应用1班</h2>
		<h2>计算机应用2班</h2>
		<h2>计算机应用3班</h2>
	</body>
</html>

运行效果

四:后期学习建议

HTML——>HTML5——>CSS——>CSS3——>JS.........

前端学习路线方向点我查看

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

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

相关文章

【算法-哈希表1】哈希表有什么用? 来看看 有效的字母异位词 和 两数组的交集.

今天&#xff0c;带来哈希相关算法的讲解。文中不足错漏之处望请斧正&#xff01; 理论基础点这里 有效的字母异位词 1. 思路 暴力的解法&#xff0c;需要两层for循环&#xff0c;同时还要记录字符是否重复出现&#xff0c;很明显时间复杂度是 O(n^2)。 其实可以用哈希表来…

【物联网】继续深入探索ADC模拟转数字的原理——Flash ADC流水线ADC逐次逼近型SAR ADC

这篇文章主要弥补上一篇关于ADC的不足&#xff0c;更加深入了解ADC数模转换器的工作原理&#xff0c;举例常见的三种ADC&#xff0c;分别为Flash ADC&流水线ADC&逐次逼近型SAR ADC。 【物联网】深入了解AD/DA转换技术&#xff1a;模数转换和数模转换 文章目录 一、模拟…

765. 情侣牵手(困难)

首先不考虑已经正确坐在一起的组合在没有坐在一起的组合中&#xff0c;只有当两对情侣互相配对时只需要一次交换操作就可以使得两对情侣完成匹配&#xff0c;其余情况交换数等于情侣对数可以把所有情侣看成一个大集合&#xff0c;这个大集合是可以拆成若干小集合的&#xff0c;…

超全总结!探索性数据分析 (EDA)方法汇总!

探索性数据分析&#xff08;EDA&#xff09;是一种系统地分析、可视化和总结数据集的过程&#xff0c;以获取洞察并更好地理解数据中潜在的模式和趋势。 EDA是任何数据分析项目中的重要步骤&#xff0c;因为它有助于识别数据中的潜在问题和偏见。EDA有助于为建模和进一步分析奠…

08 # 手写 filter 方法

什么是 filter filter() 方法创建给定数组一部分的浅拷贝&#xff0c;其包含通过所提供函数实现的测试的所有元素。如果没有元素通过测试&#xff0c;则返回一个空数组。 ele&#xff1a;表示数组中的每一个元素index&#xff1a;表示数据中元素的索引array&#xff1a;表示数…

.NET快速对接极光消息推送

什么是消息推送&#xff1f; 很多手机APP会不定时的给用户推送消息&#xff0c;例如一些新闻APP会给用户推送用户可能感兴趣的新闻&#xff0c;或者APP有更新了&#xff0c;会给用户推送是否选择更新的消息等等&#xff0c;这就是所谓的“消息推送”。 常见的一些APP消息推送…

lv11 嵌入式开发 ARM体系结构理论基础(异常、微架构)4

1 异常概念 处理器在正常执行程序的过程中可能会遇到一些不正常的事件发生 这时处理器就要将当前的程序暂停下来转而去处理这个异常的事件 异常事件处理完成之后再返回到被异常打断的点继续执行程序 2 异常处理机制 不同的处理器对异常的处理的流程大体相似&#xff0c…

CMakeCache.txt有什么用

2023年11月11日&#xff0c;周六上午 CMakeCache.txt 是由 CMake 自动生成的一个缓存文件&#xff0c;用于记录在配置过程中生成的各种变量和选项的值。 在使用 CMake 构建项目时&#xff0c;CMake 会根据 CMakeLists.txt 文件中的配置和命令&#xff0c;解析项目的源代码并生…

机器学习算法——线性回归与非线性回归

目录 1. 梯度下降法1.1 一元线性回归1.2 多元线性回归1.3 标准方程法1.4 梯度下降法与标准方程法的优缺点 2. 相关系数与决定系数 1. 梯度下降法 1.1 一元线性回归 定义一元线性方程 y ω x b y\omega xb yωxb 则误差&#xff08;残差&#xff09;平方和 C ( ω , b ) …

新生儿夜惊:原因、科普和注意事项

引言&#xff1a; 新生儿夜惊是一种常见的现象&#xff0c;它可能让新父母感到焦虑和不安。夜惊通常表现为婴儿在夜间忽然惊醒、哭闹&#xff0c;并伴随着呼吸急促和肌肉紧张。尽管这在大多数情况下是正常的生理现象&#xff0c;但对于父母来说&#xff0c;了解夜惊的原因和适…

MES系统如何赋能制造企业实现4M防错追溯?

生产过程4M管理和MES系统的结合是现代制造业中关键的质量管理实践&#xff0c;它有助于提高生产效率、降低生产成本并保证产品质量。本文将深入探讨4M管理的概念&#xff0c;以及MES系统如何赋能制造企业实现4M防错追溯。 一、4M管理的概念 4M管理是指在制造过程中管理和控制四…

蓝桥杯算法心得——拼数(排列型回溯dfs)

大家好&#xff0c;我是晴天学长&#xff0c;排列型的dfs&#xff0c;在一些需要暴搜的题中很中很重要&#xff0c;需要的小伙伴可以关注支持一下哦&#xff01;后续会继续更新的。&#x1f4aa;&#x1f4aa;&#x1f4aa; 1) .拼数 2) .算法思路 超级递归 1.遍历数组&#…

Spring Cloud学习(四)【Nacos配置管理】

文章目录 统一配置管理微服务配置拉取配置热更新多环境配置共享Nacos 集群搭建Nacos集群搭建1.集群结构图2.搭建集群2.1.初始化数据库2.2.下载nacos2.3.配置Nacos2.4.启动2.5.nginx反向代理2.6.优化 统一配置管理 Nacos 可以实现注册中心和配置管理服务 在Nacos中添加配置信息…

【Acwing171】送礼物(双向dfs)题解

本题思路来源于acwing算法提高课 题目描述 看本文需要准备的知识 1.二分&#xff08;强烈推荐文章&#xff1a;http://t.csdnimg.cn/Mx9Lr&#xff09; 2.dfs基本思想&#xff0c;了解“剪枝”这个术语 思路分析 首先这道题目看起来就是一个01背包&#xff0c;但是如果直接…

ceph-deploy bclinux aarch64 ceph 14.2.10

ssh-copy-id&#xff0c;部署机免密登录其他三台主机 所有机器硬盘配置参考如下&#xff0c;计划采用vdb作为ceph数据盘 下载ceph-deploy pip install ceph-deploy 免密登录设置主机名 hostnamectl --static set-hostname ceph-0 .. 3 配置hosts 172.17.163.105 ceph-0 172.…

另辟奚径-Android Studio调用Delphi窗体

大家都知道Delphi能调用安卓SDK&#xff0c;比如jar、aar等&#xff0c; 但是反过来&#xff0c;能在Android Studio中调用Delphi开发的窗体吗&#xff1f; 想想不太可能吧&#xff0c; Delphi用的是Pascal&#xff0c;Android Studio用的是Java&#xff0c;这两个怎么能混用…

QDockWidget组件的隐藏与显示(按钮控制)

本文内容包括&#xff1a; 1、控制按钮的点击效果美化&#xff1b; 2、用按钮控制QDockWidget组件的隐藏与显示&#xff1b; 参考前提&#xff1a;已有.ui文件、已有QDockWidget组件、已有一个控制QDockWidget组件的按钮 实现效果&#xff1a; DockWidget组件的隐藏与显示&…

mac 无法 push 代码到 github 报错:Couldn‘t connect to server 或者 无法克隆 github 仓库 ,克隆进度卡住

开启代理后上传代码报错 Failed to connect to github.com port 443 after 75108 ms: Couldn’t connect to server 解决方法 在 网络 设置里查看代理端口号 开启配置 http、https 全局代理 git config --global http.proxy http://127.0.0.1:你所查询的端口号 git confi…

一种ADC采样算法,中位值平均滤波+递推平均滤波

前言 在实际AD采集场景中&#xff0c;会出现周期性变化和偶然脉冲波动干扰对AD采集的影响 这里使用中位值平均滤波递推平均滤波的结合 参考前人写好的代码框架&#xff0c;也参考博主GuYH_下面这篇博客&#xff0c;在此基础上稍作修改&#xff0c;写出这篇博客&#xff0c;能…

SFTP远程终端访问

远程终端访问 当服务器部署好以后&#xff0c;除了直接在服务器上操作&#xff0c;还可以通过网络进行远程连接访问CentOS 7默认支持SSH(Secure Shell, 安全Shell 协议),该协议通过高强度的加密算法提高了数据在网络传输中的安全性&#xff0c;可有效防止中间人攻击(Man-in-th…