HTML+CSS语法(如选择器/样式属性/边框等)

JavaSE中路径分为相对路径和绝对路径:
相对路径:从工程名开始算
绝对路径:盘符:/目录/文件名
Web中路径分为相对路径和绝对路径:
相对路径:
. 表示当前文件所在的目录
… 表示当前文件所在的上一级目录
文件名 表示当前文件所在目录的文件,相当于./文件名(./可以省略)
绝对路径:
http://ip:port/工程名/资源路径

HTML+CSS

<!DOCTYPE html>      <!--文档声明 -->
<html>
<head>  <!--head标签中的内容不会在网页内容中出现-->
	<meta charset ="utf-8" /> <!--告诉浏览器网页所采用的编码字符集-->
	<meta name="keywords" content="html,java"/>  <!--设置网页的关键字-->
	<meta name="description" content="发布HTML,java相关的知识"/>  <!--指定网页的描述-->
	<meta http-equiv="refresh" content="3;url=http://www.baidu.com"/>  
	<title>网页标题  </title>   <!--title网页的标题标签,默认在浏览器的标题栏中 -->
</head>
<body>
	<h1>一级标题 </h1>  <!--一共6级标题h1~h6,h1~h6重要性依次降低,搜索引擎检索完title,立即查看h1中的内容-->
	<p>  <!--p标签中的文字默认独占一行; HTML中字符之间写再多的空格/换行,浏览器也会当成一个空格解析 -->
		段落标签<br/>
		<hr/> 
		嘎哈&nbsp;&nbsp;哈工大   <!--实体:< &lt;    > &gt;   空格 &nbsp;   版权符号:&copy;-->
	</p> 
	<img src="123.JPG"  alt="这是一幅美景" width="200px"/> <!--alt 用于设置图片不能显示时对图片的描述;搜索引擎可通过alt属性来识别不同的图片-->
	<p>3秒后跳转页面</p>
</body>
</html>

超链接

<!doctype html>
<html>
<head>
	<meta charset="utf-8"/>
	<title>超链接</title>
</head>
<body>
	<a href="#bottom">去底部</a> <br/> <!--#id值 跳转到id为bottom元素所在的位置-->
	<a href="http://www.baidu.com" target="_blank">超链接<a/> <br/>
	<a href="http://www.baidu.com" target="t">超链接<a/> <br/>
	<iframe src="1.html" name="t"></iframe><br/>
	<a href="#" id="bottom">回到顶部<a/><br/>  <!--若将链接地址设置为#,则点击链接后会自动跳转到当前页面的顶部-->
	<a href="mailto:257135@qq.com">联系我们</a>
</body>
</html>

css选择器

<!doctype html>
<html>

<head>
	<meta charset="utf-8"/>
	<title>css</title>
	<style type="text/css">  <!--内部样式表-->
		p{
			color:green;
			font-size:12px;
		}
		#p1{
			color:red;
		}
		.p2{
			color :red;
		}
		#p1,.p2{
			color:red;   <!--选择器分组-->
		}
		*{
			color:red;  <!--通配选择器:选中页面中所有元素-->
		}
		span.p3{
			color:blue;  <!--复合选择器;对id选择器不建议使用-->
		}
		div span{
			color:greenyellow;  <!--后代元素选择器-->
		}
		
	</style>
	
	<link rel="stylesheet" type="text/css" href="style.css"/>  <!--将外部css样式表应用到当前页面-->

</head>
<body>
	<p style="color:red;font-size:20px">爱像一阵风</p>  <!--内联样式只对当前元素中的内容起作用-->
	<p>爱星一阵风</p>
	<div></div>  <!--div是一个块级元素,占用一行空间,主要用于对页面进行布局-->
	<span></span>  <!--span内联元素,只占用自身大小,主要用来选中文本设置样式-->
	<!--一般情况下只使用块元素去包含内联元素,而不会使用内联元素去包含一个块元素;
		a元素可以包含任意元素,除了他本身;
		p元素不可以包含任何的块元素-->
	<p id="p1">hahha</p>
	<p class="p2 he">hska</p> <!--一个元素可以同时设置多个class-->
	<p class="p2">dqa</p>
	<span class="p3">dkjdiwn</span> <br/>
	<div>
		<span>hdkash</span>
	</div>
</body>

</html>

伪类选择器

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>伪类选择器</title>
	<style type="text/css">
		<!--link,visited 需写在hover,active之前-->
		a:link{
			font-size=12px;  <!--未访问过的-->
		}
		a:visited{
			color:blue;  <!--访问过的;只能定义字体的颜色-->
		}
		a:hover{
			color:red;		<!--鼠标滑过的-->
		}
		a:active{
			color:pink;		<!--正在点击的-->
		}
		input:focus{
			background-color:red;  <!--文本框获取焦点后,修改背景颜色-->
		}
		<!--为选中内容设置样式   ::selection-->
		<!--------------------->
		<!--伪元素 :first-letter首元素  :first-line首行-->
		p:before{
			content:"维护一点半";		<!--before表示元素最前边的内容;after表示最后边的内容-->
			color:red;
		}
	</style>
</head>
<body>
	<a href="http://www.baidu.com">f<a>
	<a href="http://www.baidu.com">w<a><br/>
	<a href="http://www.baidu.com">e<a><br/>
	<input type="text"/>
	<p>时间啊带回家</p>
</body>

</html>

属性选择器

<!DOCTYPE HTML>
<html>
<head>
	<meta charset="utf-8"/>
	<title>属性选择器</title>
	<style type="test/css">
		p[title]{
			background-color=yellow;  <!--[属性名]选取含有指定属性的元素-->
		}
		p[title="hello"]{
			background-color=red;		<!--[属性名=“属性值” ]选取含有指定属性值的元素-->
		}
		p[title^="ab"]{
			background-color=blue;		<!--[属性名^=“属性值”]选取属性值以指定内容开头的元素-->
		}
		p[title$="c"]{
			background-color=white; <!--[属性名$="属性值"]选取属性值以指定内容结尾的元素-->
		}
		p[title*="a"]{
			background-color=blanck;  <!--[属性名*="属性值"]选取属性值包含指定内容的元素-->
		}
		
		<!--first-child 选中第一个子元素   last-child 选中最后一个子元素  nth-child(3) 选中任意位置(第3个)的子元素,even表示偶数,odd表示基数 -->
		p:first-child{
							<!--选中为第一个子元素的p标签-->
		}
		<!--first-of-type  last-of-type  nth-of-type -->
		p:first-of-type{
						<!--选中p标签中的第一个p标签-->
		}
		
		span+p{
							<!--兄弟元素选择器  为span后一个(紧挨着的)p元素设置-->
		}
		span~p{
				<!--选中span后的所有p元素-->
		}
		p:not(.hello){
				<!--否定伪类:从已选中的元素中剔除某些元素  not(选择器)-->
		}
	</style>
</head>
<body>
	<p title="abc">我是一个段落</p>	<!--title属性:当鼠标移动到元素上时,title属性的值将会作为提示文字显示-->
	<span></span>
	<p></p>
</body>

</html>

HTML部分标签

<!doctype html>
<html>
<head>
	<meta charset="utf-8">
	<title></title>
	<style type="test/css">
		ul{
			list-style:none; <!--去除默认样式-->
		}
	</style>
</head>
<body>
	<!--em标签表示语气上的强调,默认斜体;strong表示强调的内容,默认粗体-->
	<p>
		京塔<em>担惊受恐</em>
		<strong>注意;sjks </strong>
	</p>
	<p>
		<i>斜体</i>
		<b>粗体</b>
	</p>
	<p>
		<small>小字</small>
		<cite>《论语》</cite>
	</p>
	<p>
		<q>hah</q> <!--q标签的内容会自动加上引号-->
		<blockquote></blockquote> <!--长引用-->
	</p>
	<p>
		2 <sup>2<sup>  <!--设置上标-->
		H<sub>2</sub>  <!--设置下标-->
		<del></del>  <!--自动添加删除线-->
		<ins></ins>  <!--表示插入的内容,自动添加下滑线-->
		<code> </code>	<!--表示代码-->
		<pre> </pre><!--保留代码的格式-->
	</p>
	<ul>		<!--无序列表,和有序列表之间可以任意嵌套-->
		<li>1</li>   
		<li>2</li>
	</ul>
	<ol type="A">		<!--有序列表,type属性可以设置序号的类型-->
		<li>jsahk</li>
	</ol>
	<dl>  <!--定义列表-->
		<dt>ashdj</dt>
		<dd>sjdhia</dd>
	</dl>
</body>

</html>

属性

	<!--
color:
font-size:
font-family:
font-style:  normal默认值文字正常显示
			 italic文字以斜体显示
			 oblique文字以倾斜的效果显示
font-weight: normal
			 bold 文字加粗
font-variant:normal 文字正常显示
			 small-caps 文本以小型大写字母显示

font:italic bold small-caps 60px "微软雅黑";  可以将字体样式的值,统一写在font样式中,不同的值之间使用空格隔开
使用font设置字体样式时,斜体 加粗 小大字母,没有顺序要求,甚至可以不写,则为默认值;
但要求文字的大小和字体必须写,而且字体必须是最后一个样式,大小必须是前一个

line-height:设置行高   行间距=行高-字体大小  
font也可指定行高  font:30px/50px "微软雅黑"; 50px指行高,如果不指定则使用默认值 

text-transform:none 默认值 该怎么显示就怎么小写
			   capitalize 单词的首字母大写,通过空格识别单词
			   uppercase 所有字母都大写
			   lowercase 所有字母都小写
text-decoration:none 默认值
				underline 下划线
				overline 上划线
				line-through 删除线 

letter-spacing:设置字符间距
word-spacing:设置单词之间的空格的大小

text-align:left 默认值,靠左
		   right 靠右
		   center 居中
		   justify 两端对齐
		   
text-indent:设置首行缩进(正值向右移,负值向左移) 

-->

盒子模型

<!DOCTYPE HTML>
<html>
<head>
	<meta charset="utf-8">
	<title>盒子模型</title>
	<style type="text/css">
		.box1{
			<!--内容区宽度高度-->
			width:100px;
			height:100px;
			background-color=#bfa;
			
			
			<!--设置边框-->
			border-width:10px; <!--如果指定四个值:分别设置给上 右 下 左;指定三个值:分别设置给上 左右 下;两个值:分别给上下 左右
								border-xxx-width:xxx的值可能是top,right,bottom,left,-->
			border-color:red;<!--和宽度一样-->
			
			border-style:soild;<!--none 默认值,没有边框  solid 实线  dotted点状边框 dashed 虚线  double双线  
								四个边框样式和宽度设置一样-->
			
			<!--border 可以同时设置四个边框的样式,宽度,颜色,且没有顺序要求,指定宽度是同时指定四个边不能同时指定-->
			border:red solid 10px;
			<!--border-xx  xx值可为top,right,bottom,left -->
			
			
			
			<!--设置内边距(指内容页到边框的距离)padding-xxx:xxx值为top,right,bottom,left-->
			padding-bottom:10px;
			padding:100px;<!--可同时设置四边-->
			
			
			
			<!--设置外边距(指当前盒子与其他盒子之间的距离)margin-xxx:xxx值为top,right,bottom,left
					设置左,上边距会改变自身元素的位置;设置右,下边距会改变其他元素的位置
					可设置负值,设置负值会向反方向移动
					margin可设置为auto:如只指定左外边距或右外边距的margin为auto,则外边距设置为最大值
					如垂直方向外边距设为auto,则外边距默认为0
					如果左和右外边距同时设为auto,则将两侧的外边距设置为相同的值--
					-->
			
			<!--垂直外边距的重叠:在网页中相邻且垂直方向的外边距会发生外边距重叠 
			指兄弟元素之间的相邻外边距会取最大值而不是取和
			如果父子元素的垂直外边距相邻了,则子元素的外边距会设置给父元素 
			
			-->
			
			<!--清除浏览器的默认样式-->
			*{
				margin:0;
				padding:0;
			}
			
			
			<!--内联元素不能设置width和height
			设置水平内边距,内联元素可以设置水平方向的内边距
			垂直方向内边距,内联元素可以设置垂直方向内边距,但是不会影响页面的布局
			可以设置边框,垂直边框不会影响布局,水平方向会
			只支持水平外边距
			水平方向外边距不会重叠,而是求和-->
			
			
			<!--display样式可修改元素的类型  inline:将一个元素作为内联元素显示
											block:将一个元素设置为块元素显示
											inline-block:将一个元素转换为行内块元素
											none:此元素不会在页面中显示,并且不再占据页面位置
				visibility:设置元素的隐藏和显示的状态	visible 默认值,元素默认在页面显示
														hidden 元素会隐藏,但位置还占着
														 -->
			
			<!--子元素默认存在于父元素的内容区中,但如果子元素的大小超过了父元素的内容区,则超过的大小会在元素以外的位置显示,
			超出父元素的内容,称为溢出的内容
			通过overflow设置父元素如何处理溢出内容		visible 默认值,不对溢出内容做处理
														hidden 溢出的内容会被修剪,不会显示
														scroll 为父元素添加滚动条,通过滚动条查看完整的内容
																该属性不论内容是否溢出,都会添加水平和垂直方向的滚动条
														auto 根据需求自动添加滚动条-->
		}
	</style>
</head>
<body>
	<div class="box1">h1
	</div>
	
	<span></span>
</body>
</html>

文档流

<!doctype html>
<html>
<head>
	<meta charset="utf-8">
	<title>文档流</title>
	<style type="text/css">
	</style>
</head>
<body>
	<!--文档流:处在网页的最底层,它表示的是一个页面中的位置,我们创建的元素默认就在文档流中 
	元素在文档流中的特点:
	块元素  1.在文档流中独占一行,块元素会自上而下排列
			2.块元素在文档流中默认宽度是父元素的100%
			3.块元素在文档流中的高度默认被内容撑开
			
			块元素脱离文档流后,高度和宽度都被内容撑开
			
	内联元素 1.内联元素在文档流中只占自身大小,默认自左向右排列
			 2.在文档流中,内联元素的宽度和高度默认都被内容撑开
			 
			 内联元素脱离文档流以后会变成块元素
	
	
	-->
	
	<!--如果希望块元素在页面中水平排列,可以是块元素脱离文档流,使用float来使元素浮动
		可选值:none默认值,元素默认在文档流中排列
				left元素会立即脱离文档流,向页面的左侧浮动
				right元素会立即脱离文档流,向页面的右侧浮动
		当为一个元素设置浮动后,元素会立即脱离文档流,脱离文档流后,它下边的元素会立即向上移动
		元素浮动以后,会尽量向页面的左上或右上漂浮,直到遇到父元素的边框或其他的浮动元素
		如果浮动元素上是一个没有浮动的块元素,则浮动元素不会超过块元素
		浮动元素不会超过他上边的兄弟元素,最多一边齐
		
		浮动元素不会盖住文字,会自动环绕在浮动元素周围,
		
		-->
	<!--在文档流中,父元素的高度默认是被子元素撑开的,但是当为子元素设置浮动以后,子元素会完全脱离文档流,
	此时将导致父元素的高度塌陷,下面的元素都会向上移动,导致布局混乱
	
	在页面中元素都隐含一个属性BFC,该属性可以设置打开或关闭,默认是关闭的
	当开启BFC后,元素会具有如下特性:
		父元素的垂直外边距不会和子元素重叠
		开启BFC的元素不会被浮动元素覆盖
		开启BFC的元素可以包含浮动的子元素
		
		开启元素的BFC:
			设置元素浮动
				虽然可以撑开父元素,但会导致父元素的宽度丢失,而且使用这种方式也会导致下边的元素上移
			设置元素绝对定位
			设置元素inline-block
					会导致宽度丢失
			将元素的overflow设置为一个非visible的值 
		在IE6及以下设置:  zoom:1;
		
		
		clear用于清除其他浮动元素对当前元素的影响
			可选值:none:不清除浮动
					left:清除左侧浮动元素对当前元素的影响
					right:清除右侧浮动元素对当前元素的影响
					both:清除两侧浮动元素对当前元素的影响 ,清除对它影响最大的 
					
		可用于直接在噶度塌陷的父元素的最后,添加一个空白的div,因为它没浮动,因此可以撑开父元素的高度
		然后对其进行清除浮动,通过这个空白的div来撑开父元素的高度,但增加了多余的结构,因此通过after伪类仙元素的最后添加一个空白的块元素,
		对其清除浮动,
		.box1:after{
			content="";
			display:block;
			clear:both;
		}
		在IE6中还需加:
		.box1{
			zoom:1;
		}
	
	-->
	<div class="box1">
		<div class="box"></div>
	</div>
</body>
</html>

定位

<!doctype html>
<html>
<head>
	<meta charset="utf-8">
	<title></title>
	<style type="text/css">
	
	</style>
</head>
<body>
	<!--定位:将指定的元素摆放到页面的任意元素,通过定位可以任意的摆放元素,通过position属性来设置元素的定位
	可选值:static 默认值,元素没有开启定位
			relative:开启元素的相对定位
			absolute:开启元素的绝对定位
			fixed:开启元素的固定定位
			
			相对定位特点:(相对自身定位)
			当开启了元素的相对定位后,而不设置偏移量,元素不会发生任何变化
			相对定位是相对于元素在文档流中原来的位置进行定位
			相对定位的元素不会脱离文档流
			相对定位会使元素提升一个层级 
			
			当开启了元素定位时:可通过left,right,top,bottom来设置元素的偏移量
			left:元素相对于其定位位置的左侧 偏移量 向右移
			
			绝对定位特点:
			开启绝对定位,会使元素脱离文档流
			开启绝对定位后,如果不设置偏移量,则元素的位置不会发生变化
			绝对定位是相对于离他最近的开启了定位的祖先元素进行定位的,如果所有的祖先元素都没有开启定位,则相对于浏览器窗口进行定位
			绝对定位会使元素提升一个层级
			绝对定位会改变元素的性质,内联元素变成块元素,块元素的宽度和高度都被内容撑开
			
			固定定位也是绝对定位,大部分和它相同
			不同:它永远都是相对于浏览器窗口进行定位
			固定定位会固定在浏览器窗口某个位置,不会碎滚动条滚动-->
	<!--
		如果定位元素的层级是一样的,则下边的元素会盖住上边(结构上)
		通过z-index属性可以提高元素的层级
		可以为z-index指定一个正整数作为值,该值会作为当前元素的层级
		对于没有开启定位的元素不能使用z-index
		父元素的层级在高,也不会盖住子元素
	-->
	
	<!-- 设置元素的透明度:opacity:用于设置元素的背景透明度
	它需要一个0-1之间的值,0表示完全透明,1表示完全不透明
	IE8及以下不支持opacity:
		filter:alpha(opacity=50);-->
</body>
</html>

<!doctype html>
<html>
<head>
	<charset="utf-8">
	<style type="text/css">
		
		<!--
		background-image:url(图片相对路径);
		如果背景图片大于元素,默认会显示图片的左上角
		如果背景图片小于元素,默认将背景图片平铺以充满颜色
		可以同时指定背景颜色和背景图片,这样背景颜色会作为背景图片的底色
		
		
		background-repeat设置图片的重复方式--
		可选值:repeat:默认值,背景图片会双方向重复
		no-repeat:背景图片不会重复,有多大就显示多大
		repeat-x 背景图片沿水平方向重复
		repeat-y 背景图片沿垂直方向重复 
		
		背景图片默认贴着元素的左上角显示
		通过background-position可以调整背景图片在元素中的位置
		可以使用top right left bottom center中的两个值来指定一个背景图片的位置
		如果只写一个值,则第二个值默认为center
		也可以指定两个偏移量(可为负值):第一个是水平偏移量(正值:向右 ,负值:向左),第二个是垂直偏移量(正值:向下,负值:向上)
		
		background-attachmentd用来设置背景图片是否随页面一起滚动
		可选值 scroll:默认值,背景图片随着窗口滚动
			   fixed:背景图片会固定在某一位置,不随页面滚动
			   
		图片整合技术:将多张图片整合为一张图片,这样三张图片就可以同时加载,就不会出现闪烁问题,
		然后通过background-position来切换要显示的图片的位置
		优点:将多个图片整合为一张图片,浏览器只需要发送一次请求,可同时加载多个图片,提高访问效率,提高用户体验
										减小了图片的总大小,提高请求速度,增加了用户体验
		
		-->
	
	
	</style>
</head>
<body>
	<div class="box"></p>
	<!--表格 table块元素   colspan 横向合并单元格  rowspan纵向合并单元格
	
	table和td边框之间默认有一个距离,通过border-spacing属性设置这个距离,
	border-spacing:0px;
	border-collapse:collapse; 设置表格的边框合并,如果设置了边框合并,border-spacing自动失效-->
	<table>
		<tr>
			<th></th>  <!--表头-->
		</tr>
		<tr>
			<td></td>
		</tr>
		<thead>
			<tr>
				<th></th>
			</tr>
		</thead>
		<tbody>
			<tr>
				<td></td>
			</tr>
		</tbody>
		<tfoot>
			<tr>
				<td></td>
			</tr>
		</tfoot>
	</table>
	
</body>
</html>

.

	<!--
子元素和父元素相邻的垂直外边距会发生重叠,子元素的外边距会传递给父元素
使用空的table标签可以隔离父子元素的外边距,阻止外边距的重叠,table 可以将一个元素设置为表格显示

-->
<doctype html>
<html>
	<head>
	<meta charset="utf-8">
	<style type="text/css">
		.box:before{
			content:"";
			display:table;
		}
		.clearfix:before,
		.clearfix:after{
			content:"";
			display:table;
			clear:both;<!--即可以解决高度塌陷,又可以解决父元素和子元素的垂直外边距不会重叠-->
		}
		.clearfix{
			zoom=1; <!--兼容IE6-->
		}
	</style>
</head>
<body>
	<div class="box">
		<div class="box1"></div>
	</div>
	<div class="clearfix">
		<div class="box1"></div>
	</div>
	<form action="">  <!--form标签中必须指定一个action属性,该属性指向的是一个服务器的地址,当提交表单时将会提到action属性对应的地址-->
		<fieldset>
		<legend>用户信息</legend>
		用户名<input type="text" name="username"/><br/> <!--如果希望表单项中的数据会提交到服务器中,还必须给表单项指定一个name属性,name表示提交的内容-->
		<label for="psw">密码</label><input type="password" name="password" id="psw"/><br/>
		性别:<input type="radio" value="male" name="gender"  checked="checked" id="male"/><label for="male">男</label>
		<input type="radio" value="female" name="gender" id="female" /><label for="female">女</label><br/>
		</fieldset>
		<!--单选按钮使用name属性进行分组,需要用户选择的表单项需要指定一个value属性,这样表单项的value属性自将会最终提交给服务器
		checked默认选中-->
		<fieldset>
		<legend>用户介绍</legend>
		爱好:<input type="checkbox" name="hobby" value="" checked="checked"/>足球
				<input type="checkbox" name="hobby" value=""/>乒乓球
				<input type="checkbox"name="hobby" value=""/>篮球<br/>
		<select name="star" > 
			<optgroup label="男">
			<option value="" selected="selected">gh</option>	<!--下拉列表的name属性指定给select,value属性指定给option,multiple表示多选-->
			<option value="">fj</option>
			<option value="">sf</option>
			</optgroup>
			<optgroup label ="女">
			<option value="">sj</option>
			<option value="">dr</option>
			</optgroup>
		</select><br/>
		自我介绍:<textarea name="info"></textarea>
		</fieldset>
		<input type="submit" value="注册"/>
		<input type="reset"/>
	</form>
</body>
</html>

版权声明:本文为shiranjiu原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。