容易忘记的html,css

容易忘记的html,css

HTML篇:
1.< !DOCTYPE >:作用是定义文档类型,告诉浏览器这是什么版本的html。
2. 在< p>< /p >等文本标签内输入多个空格,浏览器会当作一个空格处理。
3. 一些有用的标签:

		定义被删除文本:< del >blue< /del> 
		定义强调文本:< em>blue< /em>
		定义下划线:< u>blue< /u>

4.a标签跳转到指定位置:

	<p>
		<a href="#C4">查看章节 4</a>
		</p>
		
		<h2>章节 1</h2>
		<p>这边显示该章节的内容……</p>
		
		<h2>章节 2</h2>
		<p>这边显示该章节的内容……</p>
		
		<h2>章节 3</h2>
		<p>这边显示该章节的内容……</p>
		
		<h2><a id="C4">章节 4</a></h2>
		<p>这边显示该章节的内容……
	</p>

5.表格的跨行,跨列

	// 跨列
	<tr>
	  <th>Name</th>
	  <th colspan="2">Telephone</th>
	</tr>
	//跨行
	<tr>
	  <th rowspan="2">Telephone:</th>
	  <td>555 77 854</td>
	</tr>

6.表单:一定要套着
(1).input的属性type:

            text----普通输入框
			password----密码框
			radio-----单选按钮
			checkbox----复选框
			button/submit-----提交按钮
			file----文档

(2).input家族

     (2-1)下拉输入框:datalist,input的新属性:list
     
		<form action="demo-form.php" method="get">
			<input list="browsers" name="browser">
			<datalist id="browsers">
				  <option value="Internet Explorer">
				  <option value="Firefox">
				  <option value="Chrome">
				  <option value="Opera">
				  <option value="Safari">
			</datalist>
			<input type="submit">
		</form>

图示:
在这里插入图片描述

       (2-2)input属性:autocomplete="on/off"

在这里插入图片描述

       (2-3)input:min和max,step属性来约束包含数字或日期
	<form action="demo-form.php">
	
	 输入 1980-01-01 之前的日期:
	  <input type="date" name="bday" max="1979-12-31"><br>
	
	 输入 2000-01-01 之后的日期:
	  <input type="date" name="bday" min="2000-01-02"><br>
	
	  数量 (在1和5之间):
	  <input type="number" name="quantity" min="1" max="5"><br>
	
	  <input type="submit">
	</form>

在这里插入图片描述

      (2-4)input:multiple--允许选择多个文件
<form action="demo-form.php">
  选择图片: <input type="file" name="img" multiple>
  <input type="submit">
</form>

在这里插入图片描述
(3).带边框的:

<form action="">
<fieldset>
<legend>Personal information:</legend>
Name: <input type="text" size="30"><br>
E-mail: <input type="text" size="30"><br>
Date of birth: <input type="text" size="10">
</fieldset>
</form>

在这里插入代码片在这里插入图片描述
(4).button和input的按钮区别:

<input type=":button"></input>
<button type="button"></button>
		在button内可以有文本,图像。

7.img最好要有width height
8.在IE中使用html5的新标签

<!--[if lt IE 9]>
  <script src="http://cdn.static.runoob.com/libs/html5shiv/3.7/html5shiv.min.js"></script>
<![endif]-->

9.html新标签:
1. 媒体:

	<video width="320" height="240" controls>
	    <source src="movie.mp4" type="video/mp4">
	    <source src="movie.ogg" type="video/ogg">
	</video>
	
	<auido controls>
	    <source src="movie.mp4" type="video/mp4">
	    <source src="movie.ogg" type="video/ogg">
	</auido>
属性:  autoplay:自动播放    controls:显示播放暂停按钮    loop:循环播放  muted:静音播放   preload:auto/metadata/none页面加载时是否播放

CSS篇:

1. 动画:
animation:

	animation: myname(绑定的动画名) 5s (周期时间)linear/ease-in/ease-out(速度)2s(延迟时间) infinite(循环次数)
// 定义动画
@keyframs myname(动画名){
	from{background-color:”blue“}
	to{background-color:”red“}
	//或者使用百分制形式来代替from - to
}

transition:

transition: 要变化的属性名 周期时间 速度 延迟时间。
例如:
	transition:width 3s linear;//需要配合hover/js事件使用
	div:hover{width:200px;}

animation和transition的区别:

	(1)transition是过渡,是样式属性值的变化过程,只有开始和结束;animation也叫关键帧,和@keyframs结合可以设置中间帧,变化的比较细。
	(2)animation配合@keyframs可以不触发事件就触发这个过程,而transition需要通过hover或者js事件来配合触发。
	(3)animation的使用会改变很多属性,引起页面的回流和重绘,性能影响比较大,而transition结合transform进行旋转和放缩等不会生成新的位图,性能影响小。

2. 背景
background: 背景色 图片 平铺方向 图片开始方向(bg-position)
background:#fff url(‘xxxx.img’) no-repeat right/left top/buttom

background-attachment:fixed(图片不随内容而变化)/local(跟随内容一起变化)[这个就是有点position:fixed.]--fixed可以实现视差效果
background-size:设置图片的大小。
				可用百分比 / px设置图像的大小 / contain(背景图片自适应内容区域) ===100% 100%(原宽高输出)
				/ cover(背景图片会按照原来图片比例覆盖整个区域(宽高都满),有些部分会无法显示出来)
background-origin:定位图片的位置,margin-box(包括margin)/border-box/content-box
background-clip:截取图片的大小。border-box(默认)/padding-box/content-box

到了CS3:可以多张背景图重叠;
				 background-image:1,2;
				 background-position:left bottom,let top;
 背景图完全填充:
	 div
	{
		background:url(img_flwr.gif);
		background-size:100% 100%;
		background-repeat:no-repeat;
	}

3.列表
ul上的属性: list-style-type—设置圆点是否显示
list-style-image----用图片代替圆点位置
3.表格
border-collapse属性:
(默认):separate
collapse:边框会被并为一个单一的边框。会忽略border-spacing(设置边框距宽度)和empty-cells属性。
4.文本

  • 文本居中:(以下操作都是在父元素中写的样式,使得子元素按照以下办法来)
    text-align:center;//水平居中
    vertical-align:center;//垂直居中(多行文本) –关于vertical-align详细妙用(例如图片,一高一低的低居中)
    line-height:父元素高度;//垂直居中(单行文本,多了会溢出)
  • 文本高度:(行高)
    line-height:100%;//文本高度为16px,但是经过浏览器渲染,一般会比16px大。
    line-height:50%;//8px

5.display(显示)

  • display:none和visibility:hidden都能隐藏元素,但是display的隐藏之后不占用宽高,而visibility会。

6.position(定位)
文档流:将窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素,即为文档流。
1.元素分为块级元素(block)和内联元素(inline)

块级元素内联元素
独占一行,默认情况下,其宽度自动填满父元素宽度相连的行内元素会排列在同一行里,直到一行排不下,才会换行,其宽度随着元素的内容而变化
可以设置width,height,margin,padding属性行内元素设置width,height,margin-top/bottom无效,对border,padding,marign-left/right有效
垂直相邻的margin会重叠,以最大的margin为准。例如:上一块级的margin-bottom跟下一块级的margin-top,会重叠一起,哪个大算哪个——这样的重叠情况叫做外边距合并,详细看下面

2.脱离文档流: --------------脱离文档流情况的详情

使得元素脱离文档流,分别是:浮动,定位的fixed,absolute
  为什么说relative没有脱离文档流呢??
  因为relative的时候,margin-top会重叠。跟块级元素一样,而fixed,absolute不会,同样的浮动也不会。
  脱离文档流的元素都是块级元素---因为就算是行内元素,遇到浮动,absolute,fixed让行内元素变成块级元素来对待。

7.清除浮动

作用:1.清除别的浮动元素对自己的影响(布局方面)2.解决高度崩塌
原理:主要是靠clear属性,和触发新的BFC。
例如:
1.(同理float:right,一样处理)
  开始:3个div排列
   		    1
   		    2
   		    3
   		    4
  浮动:前3个都float:left;---分析:1跟原来位置一样,对自己没影响,2,3从换行情况变成一行紧挨,4就会跟1重叠
		    1【4】  2  3
清除浮动:对2 3	clear:left;清除浮动带来的自己的影响。消除对2,3的影响。但是3的float:left;对4的影响消除
			1
			2
			3【4】

2.高度崩塌:----------------详情
contain(黑)包含四个div,红 蓝 黄 绿(contain不设置高度)在这里插入图片描述
当四个div都float:left后:(父元素的黑色消失了,这就是高度崩塌)
在这里插入图片描述
解决高度崩塌的办法:
1.在contain父元素添加:float,—但是会让contain后面的元素受到影响
2.在contain父元素添加:overflow:hidden;–如果有内容要溢出显示(弹出菜单),也会被一同隐藏
3.在contain里面的四个div的后面,添加空div < div style=“clear:both;”>< /div>
4.在contain添加伪类after–没有副作用

.contain::after{
		content:'';
		display:block;
		width:0;
		height:0;
		clear: both;
	}

5.container设置before,after—没有副作用,主要用于解决外边距重叠问题。

.cf:before,.cf:after {
   content:"";
   display:table;
}
.cf:after { clear:both; }

8.BFC
什么是BFC:是一个独立的渲染区域, 它规定了内部如何布局,并且与这个区域外部毫不相干。

BFC触发条件:

	1、根元素
	2、float 取值 none 以外的值 --脱离文档流
	3、overflow 除了visible 以外的值(hidden,auto,scroll )
	4、display (table-cell,table-caption,inline-block,flex,inline-flex)
	5、position(absolute,fixed)--脱离文档流

----------------------------------------------详情
规则:
1、内部的Box会在垂直方向,按照从上到下的方式逐个排列。
2、Box垂直方向的距离由margin决定。属于同一个BFC的两个相邻Box的margin会发生重叠—(外边距重叠)
例如:
1).兄弟,父子外边距合并:
在这里插入图片描述
解决方案:

  1. 父子:
    1.在父元素添加overflow:hidden;
    2.在父元素添加border属性

2.) 兄弟:

  • 利用BFC概念,在第一个兄弟元素,套一个div,在这个div上写overflow:hidden;或者border属性。
  • 利用BFC概念,在第一个兄弟元素,套一个div,在这个div上写上清除浮动的第5个办法。
<style>
   .top{
    width:100px;
    height:100px;
    background:red;
    margin:50px;
   }
   .bottom{
    width:100px;
    height:100px;
    background:blue;
    margin:20px;
   }
   .cf:before,.cf:after {
     content:"";
     display:table;
    }
   .cf:after { clear:both; }
</style>

<body>
    <div class="cf">
        <div class="top">上</div>
    </div>

    <div class="bottom">下</div>
</body>

3、每个元素的margin box的左边, 与包含块border box的左边相接触(对于从左往右的格式化,否则相反)。即使存在浮动也是如此。
在这里插入图片描述
4、BFC的区域不会与float box重叠。
上面的3的例子,通过在蓝色div设置overflow:hidden;触发新的BFC,由于BFC的区域不会与float box重叠。
在这里插入图片描述
假如:给上面的例子的蓝色换成border:1px solid blue;(高度崩塌)
在这里插入图片描述
当蓝色 div 增加 overflow:hidden; 时 效果如下
在这里插入图片描述
5、BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。反之也如此。
6、计算BFC的高度时,浮动元素的高度也参与计算
9.box-sizing属性

 box-sizing:content-box(默认情况,其宽高就是内容的宽高)
 box-sizing:border-box(宽高=content+border+padding)

技巧篇:
1.width height的使用:
会显示原本元素所占的:width:auto,height:auto
百分比是按照他们的父级来得出的:width:10%,height:30%;
2.元素居中

块级元素:
	水平居中:首先居中的元素得有宽度,width=100%除外。然后margin:0 auto;
	垂直居中:1.margin/padiding
					  2.display:inline-block
					  3.position:absolute;(这种办法会跟transition:冲突)
					  	 top:50%;
					  	 left:50%;
					  	 transform:translate(-50%,-50%)
					  4.flex方法使得其块级子元素居中:
					  	 父: display:flex;
					  	 		 align-items:center;
					  	 		 justify-content:center;
					  	 或者:
					  	 		display:flex;
					  	 		margin:auto;

内联元素:
1.在其父元素操作,使得子元素居中:
					text-align:center;//水平居中
					line-height:父元素高度;//垂直居中
2.变成块级元素,再居中。

3.display:inline-block,使得块级元素同一行展示,妙用在nav行。
4.选择器:
div:nth-of-child(n+1);选择全部
div:nth-of-child(-n+2);选取前两个,(-n+3);前三个

5.文字环绕图片:对图片float:left;即可
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值