【Frontend blog-Ryan】03. CSS基础部分B

本文介绍了CSS的基础知识,包括文本属性如text-decoration,列表属性如list-style-type,边框属性如border-style,背景属性如background-position,元素类型以及定位原理。特别强调了定位中的static、absolute、fixed、relative和sticky,以及如何使用z-index进行层次控制。此外,还提到了网页优化策略,如自适应布局和解决高度塌陷的方法。
摘要由CSDN通过智能技术生成

CSS文本属性

常用属性:width, height, font-size, color, background-color, text-align, line-height, margin, text-indent.

text-decoration: none; 适用于清除当前的文本修饰,例如清除超链接自带的下划线,很常用

CSS列表属性

list-style-type: disc/circle/square/none;

list-style-position: outside/inside;

list-style-image: url(icon.jpg); 能显示小图标,但是大小和位置调整不了

CSS边框属性

常用属性:border-width, border-color, border-top/bottom/left/right

border style: solid/dashed/dotted/double;

border: 5px solid blue; 简化写法

边框书写三角形:

.box{
	border: 10px transparent solid;
	border-top: 10px solid red;
	width: 0;
	height: 0;
	/* 边框书写三角形 */
}

CSS背景属性

background-attachment: scroll/fixed;

div{
	width: 500px;
	height: 500px;
	border: 5px solid blue;
	margin: 20px;
	font-size: 50px;
	background-attachment: scroll;
	/* 背景图随着滚动条移动,默认; */
	/* background-attachment: fixed; */
	/* 背景图会固定在浏览器窗口里,且显示范围是容器。
	固定后,调整背景position会根据浏览器变化而非容器*/
	/* background-position: center center;
	不在容器中间,而在浏览器的正中间 */
	/* background: red url() no-repeat center;
	优化简写 */	
}

background-image: url(bg.png); 背景图不占位,且默认平铺显示

background-repeat: repeat/repeat-x/repeat-y/no-repeat

background-position: center bottom / 200px 100px; 给数字时,对应往x轴和y轴移动的距离,css中x轴向右,y轴向下为正方向

CSS元素类型

块元素:有宽高,可调整,常用p, h1-h6, ul, div等

行内元素/内联元素:始终是横着排列,他们没有自己的形状,不能定义它的宽和高,例如span,a,b,strong,i,em。内联元素对于margin和padding上下间距显示不正确,识别回车为空格。
不过对margin左右是有效的。

行内块元素:具备两者特点,img,input,textarea

元素转换:

display: block/inline/inline-block/none; none为隐藏

CSS定位

为什么需要定位?

1. 想要一个盒子覆盖在另外一个盒子上的时候
2. 位置移动的时候

        position总结

  • position: static; 默认
  • position: absolute; 绝对定位,脱离文档流
  • position: fixed; 固定定位,脱离文档流
  • position: relative; 相对定位,不脱离文档流,
  • position: sticky; 粘性定位,css3新增,可以做吸顶效果

绝对定位:默认的时候,多个盒子给绝对定位之后,结构在后的盒子定位之后在最上方

.box1{
	width: 200px;
	height: 200px;
	background: red;
	position: absolute;
	/* 该盒子给了绝对定位之后,之后是悬在页面之上的,不在占据
	浏览器的位置,这种悬空不占位的现象,叫做脱离文档流。 */
	/* right: 50px;
	top: 0; */
	/* z-index: 1; */
	/* 改变z-index可改变盒子层数,zindex值越大,就在最上层。 */
}

参照物:
1. 当没有父元素,或者父元素没有定位,参照物是浏览器窗口的第一屏
2. 有父元素,且父元素有定位,父元素

固定定位:脱离文档流,参照物为浏览器的当前窗口 添加父元素也没有关系,也可以用z-index来改变

相对定位:非脱离文档流,给了相对定位之后,该盒子继续占据浏览器的位置。移动之后,原来位置还在。偏移时的参照物是原来的位置。最常用最实用的添加定位方式为父相子绝(父元素相对定位,子元素绝对定位)。

粘性定位:

.box1{
	width: 1200px;
	height: 40px;
	background: orange;
	position: sticky;
	top: 0px;
}

水平垂直居中的三种实现方式

.box1{
	width: 300px;
	height: 300px;
	background: orange;
	position: absolute;
	top: calc(50% - 150px);
	left: calc(50% - 150px);
	/* calc()计算函数支持+ - * / 四则运算,但是+和-的符号前后必须加空格 */
}
.box2{
	width: 200px;
	height: 200px;
	background: green;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -100px;
	margin-left: -100px;				
}
.box3{
	width: 100px;
	height: 100px;
	background: red;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

网页优化

自适应的方法
1. 宽度或者高度不写(若父元素高度不写,子元素浮动会引起高度塌陷)
2. 宽度或者高度使用百分比
3. 用max-width,min-width,min-height,max height调节 -->
高度塌陷的触发条件
父元素高度不写,且所有的子元素都浮动了,那么父元素会高度塌陷。
高度塌陷的解决办法
1. 给塌陷的盒子添加overflow:hidden
2. 在所有的浮动盒子的最下面添加一个空标签,且声明clear:both;(仅作了解,
造成代码冗余,对优化不友好)
3. 万能清除法:
塌陷的盒子:after{content:""; display:block; clear:both;}

精灵图

为什么要使用精灵图
1. 通过图片整合来减少对服务器的请求次数,从而提高页面加载速度
2. 通过整合图片来减小图片体积

字体图标

为什么要使用iconfont
1. 设计不用再切图了,更不需要针对不同场景切出大小,颜色,格式等等;不同的
图片,只需维护一个图标项目库即可;
2. 字体图标缩放不失真,不会变模糊;
3. 开发者也不用引用大量图片,仅class名就可以完成,修改灵活;
4. 减少网络请求次数,一个css文件可包含所有图标,节约流量。

浏览器兼容问题

为什么会出现浏览器兼容问题
因为各大主流浏览器由不同的厂家开发,所用的核心架构和代码很难重合。

五大浏览器内核
1. Trident;IE浏览器,腾讯,360,遨游,世界之窗(不开源)
2. Gecko;Mozilla Firefox(开源),跨平台
3. Webkit;Safari,Chrome旧内核,开源
4. Presto;Opera的前内核
5. Blink;Google和Opera联合开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值