CSS-常用属性【看这一篇就够了】

18 篇文章 1 订阅

目录

前言文章

常用属性

cursor鼠标样式

outline外轮廓

border与outline的区别

overflow超出部分隐藏

overflow属性值

overflow-x和overflow-y

vertical-align属性

应用案例

常用的a标签布局按钮

水平居中的轮播图按钮

产品展示效果:

小米商城菜单

前言文章

一些作者之前的文章,建议串读

CSS-display属性【看这一篇就够了!!】_css display-CSDN博客

CSS-background属性【看这一篇就够了!!!】-CSDN博客

CSS-径向渐变【看这一篇就够了!!!】-CSDN博客

常用属性

鼠标样式,外轮廓,超出部分隐藏,vertical-align属性

cursor鼠标样式

  • 设置光标的类型,在鼠标指针悬停在元素上时显示相应样式
描述
url需使用的自定义光标的 URL。注释:请在此列表的末端始终定义一种普通的光标,以防没有由 URL 定义的可用光标。
default默认光标(通常是一个箭头)
auto默认。浏览器设置的光标。
crosshair光标呈现为十字线。
pointer光标呈现为指示链接的指针(一只手)
move此光标指示某对象可被移动。
e-resize此光标指示矩形框的边缘可被向右(东)移动。
ne-resize此光标指示矩形框的边缘可被向上及向右移动(北/东)。
nw-resize此光标指示矩形框的边缘可被向上及向左移动(北/西)。
n-resize此光标指示矩形框的边缘可被向上(北)移动。
se-resize此光标指示矩形框的边缘可被向下及向右移动(南/东)。
sw-resize此光标指示矩形框的边缘可被向下及向左移动(南/西)。
s-resize此光标指示矩形框的边缘可被向下移动(南)。
w-resize此光标指示矩形框的边缘可被向左移动(西)。
text此光标指示文本。
wait此光标指示程序正忙(通常是一只表或沙漏)。
help此光标指示可用的帮助(通常是一个问号或一个气球)。

outline外轮廓

这个属性用于设置元素周围的轮廓,其用法和border属性一样

/* 边框宽 边框风格 边框颜色 */
outline: 10px solid red;
  • outline-width 边框宽
  • outline-style 边框风格
  • outline-color 边框颜色

border与outline的区别

  • outline不占据空间,绘制于元素内容周围的轮廓,不参与盒子模型的占位计算,不会因为添加这个属性,而造成盒子占位空间变化。
  • outline没有办法单独控制某一边效果,也就是没有outline-leftoutline-topoutline-rightoutline-bottom属性
  • border参与盒子模型计算,会因为边框值的变化,早成盒子占位空间变化
<style>
  .box {
    width: 100px;
    height: 100px;
    /* 上 右  下 左 */
    margin: 50px 0px 0px 30px;
    background-color: tomato;
    /* 外轮廓 */
    outline: 30px dotted skyblue;
    /* border: 30px dotted skyblue; */
  }
</style>
<body>
  <div class="box"></div>
  我是页面中的其它元素喽
</body>
添加outlin效果添加border效果

去掉表单元素默认的outline属性

  • outline的值设置为“0”或“none”会移除元素的默认轮廓
  • 表单元素为了提高可访问性(聚焦提示),都有默认的outline
input {
  outline: none;
}

我们可使用outline属性给表单元素添加“点击时(聚焦时)”的边框效果:

<style>
	input:focus {
	outline: 1px blue solid;
	}
</style>
<body>
	<form>
		<input type="text">
	</form>
</body>

效果:

点击前点击后

overflow超出部分隐藏

overflow属性规定当内容移除元素框时该做什么

overflow属性值

描述
visible默认值。内容溢出,会呈现在元素框之外。
hidden内容溢出,则溢出内容是不可见的。
scroll不管内容是否溢出,都会显示滚动条。
auto内容溢出,则显示滚动条以便查看其余的内容。如果不溢出,则不显示滚动条
inherit规定应该从父元素继承 overflow 属性的值。
<style>
  .box {
    width: 100px;
    height: 100px;
    background-color: skyblue;
    line-height: 35px;
    /* 左浮动 */
    float: left;
    margin-left: 20px;
  }
  .box1 {
    overflow: hidden;
  }
  .box2 {
    overflow: scroll;
  }
  .box3 {
    overflow: auto;
  }
</style>
<body>
  <div class="box">啥处理都不做我是文本内容2,我是文本内容3</div>
  <div class="box box1">hidden 我是文本内容1,我是文本内容2,我是文本内容3</div>
  <div class="box box2">scroll 我是文本内容1,我是文本内容2,我是文本内容3</div>
  <div class="box box3">auto 我是文本内容1,我是文本内容2,我是文本内容3</div>
</body>

效果:

overflow-x和overflow-y

  • overflow-x 水平方向溢出设置
  • overflow-y 垂直方向溢出设置
overflow-x: hidden;

vertical-align属性

  • 指定“行内元素”、“行内块元素”、“表格单元格元素”的垂直对齐方式
  • 对“块级元素”是无效的

vertical:middle;line-height:div高度;设置元素垂直居中的区别

  • vertical-align:middle:适用于内联元素(<span>、<img>、<td>等),对于多行文本可以很灵活的控制
  • line-height:div高度:适用于块级元素(<div>、<p>)只适用于一行文本
属性值描述
baseline使元素的基线与父元素的 基线对齐
sub使元素的基线与父元素的 下标基线对齐
super使元素的基线与父元素的 上标基线对齐
text-top使元素的顶部与父元素的字体顶部对齐。
text-bottom使元素的底部与父元素的字体底部对齐。
middle使元素的中部与父元素的基线加上父元素 x-height(x 高度) 的一半对齐。
数值(10px)使元素的基线对齐到父元素的基线 之上的给定长度
可以是负数
百分比 %使元素的基线对齐到父元素的基线之上的给定百分比,该百分比是line-height (opens new window)属性的百分比
可以是负数
top使元素及其后代元素的顶部与整行的顶部对齐
bottom使元素及其后代元素的底部与整行的底部对齐

小写字母x的下边缘就是我们的基线

 

<style>
  .box {
    height: 50px;
    float: left;
    margin: 10px 10px 10px 0px;
    background-color: skyblue;
    /* 行高 50px */
    line-height: 50px;
  }
  .box span {
    /* 行内块 */
    display: inline-block;
    line-height: 1;
    background-color: yellow;
  }
  .baseline {
    vertical-align: baseline;
  }
  .sub {
    vertical-align: sub;
  }
  .super {
    vertical-align: super;
  }
  .text-top {
    vertical-align: text-top;
  }
  .text-bottom {
    vertical-align: text-bottom;
  }
  .middle {
    vertical-align: middle;
  }
  .top10px {
    vertical-align: 10px;
  }
  .top10 {
    vertical-align: 10%;
  }
  .top {
    vertical-align: top;
  }
  .bottom {
    vertical-align: bottom;
  }
</style>
<body>
  <div class="box">文字Xx<span class="baseline">x-baseline</span>文字</div>
  <div class="box">文字Xx<sub>2</sub><span class="sub">x-sub</span>文字</div>
  <div class="box">
    文字Xx<sup>2</sup><span class="super">x-super</span>文字
  </div>
  <div class="box">文字Xx<span class="text-top">x-text-top</span>文字</div>
  <div class="box">
    文字Xx<span class="text-bottom">x-text-bottom</span>文字
  </div>
  <div class="box">文字Xx<span class="middle">x-middle</span>文字</div>
  <div class="box">文字Xx<span class="top10px">x-10px</span>文字</div>
  <div class="box">文字Xx<span class="top10">x-10%</span>文字</div>
  <div class="box">文字Xx<span class="top">x-top</span>文字</div>
  <div class="box">文字Xx<span class="bottom">x-bottom</span>文字</div>
</body>

 效果:

应用案例

常用的a标签布局按钮

<style>
	.button {
		/* 将标签变为块级元素,用来使高度和宽度生效 */
		display: block;
		width: 200px;
		height: 50px;
		/* 去掉下划线 */
		text-decoration: none;
		color: #fff;
		background-color: tomato;
		/* 水平居中 */
		text-align: center;
		/* 垂直居中 */
		line-height: 50px;
		margin: 50px auto;
	}
  </style>
  <body>
	<a href="#" class="button">点击获取100W</a>
  </body>

效果:

水平居中的轮播图按钮

<style>
	.button {
		width: 100%;
		height: 100px;
		background-color: dodgerblue;
		text-align: center;
		/* 去掉span标签默认间距 */
		font-size: 0px;
		/* 元素垂直居中 */
		line-height: 100px;
	}
	.button > span {
		/* 行内块元素 */
		display: inline-block;
		width: 10px;
		height: 10px;
		background-color: #fff;
		margin: 0px 2px;
		/* 垂直居中 */
		vertical-align: middle;
		/* 圆角 */
		border-radius: 50%;
	}
	.button > .current {
		background-color: black;
	}
  </style>
  <body>
	<div class="button">
	  <span></span>
	  <span></span>
	  <span></span>
	  <span></span>
	  <span class="current"></span>
	</div>
  </body>

效果:

产品展示效果:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
	<style>
		.container {
			width: 200px;
			margin: 50px auto;
			border: 2px solid #e4e4e4;
			border-radius: 5px;
			/* 图片超出部分隐藏 */
			overflow: hidden;
			background-color: #fff;
			/* 文字水平 */
			text-align: center;
		}
		.container-bottom {
			background-color: #f8f8f8;
			/* 去除inline-block默认间隙 */
			font-size: 0px;
			text-align: center;
		}
		.container > img {
			display: block;
			width: 200px;
			height: 100x;
		}
		.container span {
			display: inline-block;
		}
		.describe {
			color:#b9ad9e;
			margin-bottom: 20px;
		}
		.container-bottom > span {
			border: 1px solid;
			border-radius: 2px;
			font-size: 12px;
			text-align: center;
			padding: 2px;
			margin: 10px 2px;
		}
		.type-1{
			background-image: linear-gradient(to right,#ff2187 0%,#a921e8 100%);
			color: #fff;
		}
		.type-2{
			background-color: #fff6f4;
			color: #f57263;
		}
		.type-3{
			border-color: #cdd4de;
			color: #6998d7;
		}
		.container-bottom > h3 {
			font-size: 20px;
			margin: 0px auto 5px;
		}
		.container-bottom > .price {
			border: none;
			font-size:18px;
			margin: 0px 0px 10px 0px;
			color: #8b2225;
		}
	</style>
</head>
<body>
	<div class="container">
		<img src="/static/cup.png">
		<span class="describe">快速煮水,安心饮用</span>
		<div class="container-bottom">
			<span class="type-1">直播中</span>
			<span class="type-2">特惠</span>
			<span class="type-3">30天报价</span>
			<span class="type-3">售后免邮</span>
			<h3>云米水电壶</h3>
			<span class="price">¥59</span>
		</div>
	</div>
</body>
</html>

 效果:

小米商城菜单

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
	<style>
		body {
			background-image: linear-gradient(to right,#e8e5a4 0%,#daf1bb 100%);
		}
		.container{
			width: 300px;
			margin: 100px auto;
			background-color: #f3f6e1;
			border: 1px solid #fff;
			border-radius: 1px;
		}
		ul {
			list-style: none;
			padding: 20px;
			margin: 0px;
		}
		li {
			padding: 5px;
			/* 文字居中 */
			vertical-align: center;
			line-height: 30px;
		}
		ul > li > a {
			display: block;
			text-decoration: none;
			color: black;
		}
		a > span {
			float: right;
		}
	</style>
</head>
<body>
	<div class="container">
		<ul>
			<li><a href="">手机<span>></span></a></li>
			<li><a href="">电视<span>></span></a></li>
			<li><a href="">笔记本 平板<span>></span></a></li>
			<li><a href="">家电<span>></span></a></li>
			<li><a href="">出行 穿戴<span>></span></a></li>
			<li><a href="">智能 路由器<span>></span></a></li>
			<li><a href="">电源 配件<span>></span></a></li>
			<li><a href="">健康 儿童<span>></span></a></li>
			<li><a href="">耳机 音响<span>></span></a></li>
			<li><a href="">生活 箱包<span>></span></a></li>
		</ul>
	</div>
</body>
</html>

效果:

  • 21
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
学习CSS3是非常重要的,因为它是网页设计中不可或缺的一部分。CSS3是CSS的最新版本,引入了许多新的特性和功能,使得我们可以更加灵活地设计和样式化网页。 首先,学习CSS3可以帮助我们实现更多样化的网页设计。它提供了丰富的选择器和样式属性,可以创建出各种不同风格的页面布局和样式。比如,我们可以使用CSS3中的渐变背景、阴影效果和过渡动画等功能,使得网页更加生动、吸引人。 其次,学习CSS3还可以提高网页的响应式设计能力。CSS3引入了媒体查询功能,可以根据用户设备的不同来调整网页的样式和布局。这样,我们可以为不同的设备(如手机、平板电脑和桌面电脑)设计出最优的用户体验,提高网页的可用性和易用性。 此外,学习CSS3还可以提高网页的性能和加载速度。CSS3中引入了一些优化技术,如CSS精灵、动画效果硬件加速和过渡效果缓存等,可以减少浏览器对网页的解析时间,提升网页的加载速度和性能。 最后,学习CSS3有助于提升我们的职业竞争力。作为一门常用前端技术,熟练掌握CSS3可以为我们在网页设计和开发领域找到更多的就业机会。无论是企业招聘要求还是个人项目需求,对CSS3的掌握都是非常重要的。 综上所述,学习CSS3是非常必要的。不仅可以帮助我们实现更多样化的网页设计,提高网页的响应式设计能力,还可以提升网页的性能和加载速度,提升我们的职业竞争力。因此,我强烈建议大家将重点放在学习CSS3上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

是洋洋a

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

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

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

打赏作者

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

抵扣说明:

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

余额充值