CSS继承、盒子模型、float浮动、定位、diaplay

一、CSS继承

1.文字相关的样式会被子元素继承。

2.布局样式相关的不会被子元素继承。(用inherit可以强行继承)

实现效果:

二、盒子模型

每个标签都有一个盒子模型,有内容区、内边距、边框、外边距。

从内到外:content->padding->border->margin。

注:如果没有设置box-sizing属性,一个盒子的最终大小为content+padding+border,也是background-color的区域。

1.content:标签的内容区域,用来盛放别的标签或文本,一般css设置的宽高就是这个区域。

2.padding:内容到边框的距离,一般设置完后,由于padding占位,会撑大盒子模型。

①单参数:指定对应边内边距或者一次性指定所有内边距(单位:px %)。

padding-left

padding-right

padding-top

padding-bottom

padding

②多参数:参数个数,按【上 -> 右 -> 下 -> 左】顺时针顺序,没有指定到的边则和对边相同。

padding:上下 右左

padding:上 右左 下

padding:上 右 下 左

3.border:边框样式

①单参数:指定对应边框或一次性指定所有边框。

border-left

border-right

border-top

border-bottom

border-width

②多参数:参数个数,按【上 -> 右 -> 下 -> 左】顺时针顺序,没有指定到的边则和对边相同。

border-width:上下 右左

border-width:上 右左 下

border-width:上 右 下 左

③快速写法

border:1px,solid #123456

4.margin:外边距,一般用来调整盒子之间的距离,参数写法与作用同padding。

①单参数:指定对应边框或一次项指定所有边框。

margin

margin-left

margin-right

margin-top

margin-bottom

②多参数:参数个数,按【上 -> 右 -> 下 -> 左】顺时针顺序,没有指定到的边则和对边相同。

margin:上下 右左

margin:上 右左 下

margin:上 右 下 左

补充:

1.背景颜色会填充到margin以内的区域

2.内容在content区域

3.box-sizing:可以改变盒子模型的展示形态

content-box(默认值)------width、height,作用于content

border-box------width、height,作用于content padding border,防止padding、border撑大盒子大小。

4.box-shadow:可以设置盒子模型的周边阴影

参数:x轴偏移量 y轴偏移量 阴影大小 阴影颜色

/* 一个偏右下的红色阴影 */

box-shadow: 10px 20px 10px red;

实现效果:

三、float浮动

1.文档流:文档中可显示对象在排列时所占用的位置。

块级元素:单独一行,自上而下(div、h1、p)

行内元素:从左到右水平分布显示(a、span、strong)

2.float特点:

①脱离文档流,相对于父容器靠左或者靠右排列,如果之前有浮动元素,会挨着排列。

②如果区域出现<img>标签,浮动元素的文本会绕开图片区域,呈现一个【文字围绕图片】的效果

3.参数值:

①none:不浮动,保持原文档流

②left:脱离文档流,居左浮动

③right:脱离文档流,居右浮动

实现效果:

多种浮动效果:

四、定位

分为relative、absolute、fixed。

属性值:top(距离顶部)、bottom(距离底部)、left(距离左边值)、right(距离右边值)

(top和bottom不同时用;left和right不同时用)

在开始布局之前,使用***{}**把所有标签的margin和padding设置为0,取消屏幕间隔。

没有设置*{}时,有间隔

1.相对定位:relative,以自身为参照点移动位置。

<div class="box">

.box{

width: 100px;

height: 100px;

background-color: green;

position: relative;

left: 100px;

top: 100px;

实现效果:

2.绝对定位:absolute,以最近一个带有定位属性的父级元素为参照点来移动位置。

若父级元素没有定位属性,就以body为参照点,默认值为position:relative。

<div class="box">

<div class="box1"></div>

.box{

width: 100px;

height: 100px;

background-color: green;

position: relative;

left: 100px;

top: 100px;

}

.box1{

width: 50px;

height: 50px;

background-color: red;

position: absolute;

top: 50px;

left: 50px;

}

实现效果:

父级元素没有定位属性的实现效果:

3.绝对固定定位:fixed,固定在网页的某一位置,无论怎么滚动网页它都不会移动位置。

<div class="box">

<div class="box1"></div>

</div>

<div class="place"></div>

.box1{

width: 50px;

height: 50px;

background-color: red;

position: fixed;

top: 50px;

left: 50px;

}

.place{

width: 50px;

height: 1000px;

background-color: pink;

}

实现效果:

无论如何滚动鼠标,向下滑动时,红色的小方块始终固定在原来位置不会移动。

注意点:

①元素移动后,原来的位置不会空出来,所以新元素不会占领原来的位置。

②考虑absolute会出现脱离文档流的情况,而relative不会。

效果图:

absolute出现脱离文档流的情况:

效果图:

五、diaplay

1.值

①none:隐藏该元素

②block:将元素转为块级元素

③inline:将元素转为行内元素

④inline-block:将元素转为行内块元素,可以指定宽高并且不换行。(未指定宽高则根据内容撑开)

2.去除元素间空白间隙

【inline-block】 【inline】元素之间会有空白间隙

1.在你的HTML代码里元素间不留任何空白。

2.父元素设置font-size:0。

相关推荐
前端大卫9 分钟前
Vue3 + Element-Plus 自定义虚拟表格滚动实现方案【附源码】
前端
却尘24 分钟前
Next.js 请求最佳实践 - vercel 2026一月发布指南
前端·react.js·next.js
ccnocare25 分钟前
浅浅看一下设计模式
前端
Lee川29 分钟前
🎬 从标签到屏幕:揭秘现代网页构建与适配之道
前端·面试
Ticnix1 小时前
ECharts初始化、销毁、resize 适配组件封装(含完整封装代码)
前端·echarts
纯爱掌门人1 小时前
终焉轮回里,藏着 AI 与人类的答案
前端·人工智能·aigc
twl1 小时前
OpenClaw 深度技术解析
前端
崔庆才丨静觅1 小时前
比官方便宜一半以上!Grok API 申请及使用
前端
星光不问赶路人1 小时前
vue3使用jsx语法详解
前端·vue.js
天蓝色的鱼鱼1 小时前
shadcn/ui,给你一个真正可控的UI组件库
前端