[web前端css学习-2]


前言


盒子模型,浮动以及定位的学习记录


一、盒子模型

1.边框:

border:2px solid yellow;
border-color:边框颜色
border-width:边框宽度
border-style:边框风格
部分取值:dashed虚线框,dotted点线框,solid实线边界,none无边框;
取值:border-color:1值:上下左右;2个值:上下,左右;3个值:上,左右,下;4个值:上,右,下,左.
注意: border-color单独使用是不起作用的,必须得先使用border-style来设置边框样式。

二、浮动

1.标准文档流

块级元素和内联元素

display属性 块级元素display属性的默认值是block,内联元素display属性默认值inline
我们可以通过改变display属性将块级元素与内联元素做转换。
内联元素设置宽与高是没有作用的,若我们要对内联元素设置宽与高可以通过改变display属性为display:inline-block,使它具有inline和block的特点。

2.浮动

CSS的Float(浮动),元素可以围绕其他元素向左或向右被推动;Float(浮动),往往是用于图像,但它在布局时一样非常有用。

float:left左浮动,right:右浮动。
浮动后的元素会脱离标准文档流,如果容器中的元素全部浮动,盒子高度会变小,那如何扩展盒子的高度呢:
1.借助clear:both(增加一个空元素,设置其元素值为clear:both即可)
2.溢出overflow:
visible溢出的部分正常显示在外面;
scroll:会生成水平和垂直方向的滚动轴,【水平只有样式,垂直是可以滚动的】
auto:溢出部分生成垂直方向的滚动轴,不溢出则没有。
hidden:自然是溢出的部分就会被隐藏起来啦。
3.借助伪类:

#container:after{
		content:'';
		display:block;
		clear:both;
}

三、定位

CSS定位属性允许你为一个元素定位。它也可以将一个元素放在另一个元素后面,并指定一个元素的内容太大时,应该发生什么。
元素可以使用的顶部,底部,左侧和右侧属性定位。然而,这些属性无法工作,除非是先设定position属性。他们也有不同的工作方式,这取决于定位方法.

有四种不同的定位方法。

1.默认值:static,不进行定位;
2.相对定位:relative,相对于自己原来的位置进行定位,相对定位后的元素还在标准文档流中,对父元素和兄弟元素是没有影响的。
3.绝对定位:absolute,如果父容器没有定位,该位置就相对于浏览器来说,但如果父容器定位了,该位置就相对于父容器进行定位,要知道绝对定位的元素是脱离标准文档流的。
4.固定定位:fixed,元素的位置相对于浏览器窗口是固定位置。即使窗口是滚动的它也不会移动:

四.动画

动画是使元素从一种样式逐渐变化为另一种样式的效果。
您可以改变任意多的样式任意多的次数。
请用百分比来规定变化发生的时间,或用关键词 “from” 和 “to”,等同于 0% 和 100%。
0% 是动画的开始,100% 是动画的完成。
为了得到最佳的浏览器支持,应该始终定义 0% 和 100% 选择器。
动画属性:

属性描述
@keyframes规定动画。
animation所有动画属性的简写属性,除了 animation-play-state 属性。
animation-name规定 @keyframes 动画的名称。
animation-duration规定动画完成一个周期所花费的秒或毫秒。默认是 0。
animation-timing-function规定动画的速度曲线。默认是 “ease”。
animation-delay规定动画何时开始。默认是 0。
animation-iteration-count规定动画被播放的次数。默认是 1。
animation-direction规定动画是否在下一周期逆向地播放。默认是 “normal”。
animation-play-state规定动画是否正在运行或暂停。默认是 “running”。

课堂练习:

1.qq会员:

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
		<style type="text/css">
			*{
				margin: 0px;
				padding: 0px;
			}
			p{
				margin-left: 20px;
				float: left;
				display: inline;
				height: 180px;
				line-height: 180px;
			}
			#container{
				width: auto;
				height: 180px;
				background-color: gray;
			}
			ul li {
				color: white;
				float: left;
				padding-left: 30px;
				display: inline;
				height: 180px;
				line-height: 180px;
			}
			div p:last-child input{
				background-color: yellow;
				font-size: 18px;
				font-weight: bold;
				border-radius: 20px;
				padding: 10px 10px 10px 10px;
			}
			div p:nth-last-child(2) input{
				border: 1px solid yellow;
				background-color: gray;
				font-size: 18px;
				border-radius: 20px;
				padding: 10px 10px 10px 10px;
			}
			img{
				padding-left: 40px;
				float:left;
			}
		</style>
	<body>
		<div id="container">
			<img src="img/2628470649d10a352ebea255a9fdd5c.png" />
			<ul>
				<li>功能特权</li>
				<li>游戏特权</li>
				<li>生活特权</li>
				<li>会员活动</li>
				<li>成长体系</li>
				<li>年费专区</li>
				<li>超级会员</li>
			</ul>
			<div>
				<p><a href="#"><input type="button"/ value="登录"></a></p>
				<p><a href="#"><input type="submit" value="开通超级会员" /> </a></p>
			</div>
		</div>
	</body>
</html>

2.实现如图效果
在这里插入图片描述

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			*{
				margin: 0px;
				padding: 0px;
			}
			#containe{
				width: 300px;
				border: 1px solid red;
			}
			div h1{
				background-color: #FF0000;
				font-size: 18px;
				color: white;
				height: 30px;
				line-height: 30px;
				padding-left: 20px;
			}
			ul{
				background-color: white;
				list-style: none;
			}
			ul li{
				border-bottom: 1px dashed gray;
				
				line-height: 30px;
				padding-left: 20px;
			}
			ul li a{
				font-size: 15px;
				color: gray;
				text-decoration: none;
			}
			ul li a span{
				color: white;
				line-height: 20px;
				background: url(img/dot_01.gif) 12px -1px no-repeat;
				text-indent: 20px;
				width: 40px;
				height: 24px;
				display: inline-block;
			}
			ul li div{
				text-align: center;
				display: none;
				color: red;
			}
			ul li:hover span{
				background-image: url(img/dot_02.gif);
			}
			ul li:hover a{
				color: pink;
			}
			ul li:hover div{
				color: red;
				display: block;
			}
		</style>
	</head>
	<body>
		<div id="containe">
			<h1>大家都喜欢的彩妆</h1>
			<ul>
				<li>
					<a><span>1</span>Za姬芮新能真知美白隔离霜 35g</a>
					<div>
						<p><img src="img/icon-1.jpg" /></p>
						<p>¥168元</p>
					</div>
				</li>
				<li>
					<a><span>1</span>Za姬芮新能真知美白隔离霜 35g</a>
					<div>
						<p><img src="img/icon-2.jpg" /></p>
						<p>¥168元</p>
					</div>
				</li>
				<li>
					<a><span>1</span>Za姬芮新能真知美白隔离霜 35g</a>
					<div>
						<p><img src="img/icon-3.jpg" /></p>
						<p>¥168元</p>
					</div>
				</li>
				<li>
					<a><span>1</span>Za姬芮新能真知美白隔离霜 35g</a>
					<div>
						<p><img src="img/icon-4.jpg" /></p>
						<p>¥168元</p>
					</div>
				</li>
			</ul>
		</div>
	</body>
</html>

总结

以上就是今天要讲的内容,本文仅仅简单介绍了盒子模型,浮动以及定位的使用,记录学习生活,一起共勉。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心尘未泯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值