欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

前端 CSS:字体、文本、背景、边框、显示、盒模型、浮动、溢出属性、定位、z-索引

最编程 2024-07-09 18:44:02
...

2022.4.26前端之CSS样式、属性

  • 字体样式
  • 文字属性
  • 背景属性
  • 边框
  • display属性
  • 盒子模型
  • 浮动(重要)
  • 溢出属性
  • 定位
  • z-index

一、字体样式

# 文字字体
font-family:"Microsoft Yahei"
# 字体大小
font-size:24px  # 单位是px
# 字体粗细
font-weight:lighter/bolder  # 细/粗
# 字体颜色
方式1:
	color: red;  # 最基础的颜色修改
方式2:
	color: rgb(128,128,128)  # 三基色rgb参数
方式3:
	color: #4f4f4f  # hex颜色代码
'''
获取颜色代码和rgb的方式有很多:
1.截图软件自带取色功能
		微信、qq自带颜色编号 #4f4f4f
2.pycharm提供的取色器
		代码左侧颜色块点击即可
'''

二、文字属性

# 文字对齐
text-align:center/left/right  # 文本居中/居左/居右
# 文字装饰(重点)
'''a标签默认带下划线,并且有颜色(没有点击过是蓝色,点击过是紫色)'''
text-decoration: none;  # 主要用于去除a标签的下划线
text-decoration: line-through;  # 删除线
text-decoration: overline;	# 上边线
text-decoration: underline;	 # 下划线
# 首行缩进
text-indent: 32px;  # 首行缩进32px
"""
补充:可以使用浏览器做样式的动态调整
	查找到标签的css 然后左键选中 通过方向键上下动态修改数值
"""    

三、背景属性(background)

# 1.背景颜色
background-color: red;
# 2.背景图片
background-image:url("111.png")  # 如果背景图片没有设置的区域大,那么默认自动填充
    background-repeat: no-repeat; 不填充
    background-repeat: repeat-x;  横向填充
    background-repeat: repeat-y;  纵向填充
        
background-position:left top;  # 图片位置,左/右
background-attachment: fixed  # 背景附着: 固定
"""
如果多个属性名具有相同的前缀 那么可以整合到一起编写(前缀名即可),如下:
"""
background: #336699 url('1.png') no-repeat left top;    

四、边框(border)

# 1.自定义调整每个边的边框
border-left/top/right/bottom-color: black  # 更改边框左/上/右/下的颜色
border-left/top/right/bottom-width: 5px  # 更改边框左/上/右/下的宽度
border-left/top/right/bottom-style: solid  # 更改边框左/上/右/下的线条
    
# 2.统一调整每个边的边框
border: 5px solid black;  # 调整边框宽度、实线、黑色
      """
  	  dotted	点状虚线边框
      dashed	矩形虚线边框
      solid		实线边框
      """

# 3.画圆
border-radius: 50%

五、display属性

"""
只有块儿级标签可以设置长宽,行内标签是不可以的(长宽由内部文本决定)
"""
display:inline  # 让标签具备行内标签的特性(不能设置长宽)
display:block  # 让标签具备块儿级标签的特性(可以设置长宽)
display:inline-block  # 使元素同时具有行内元素和块级元素的特点
display:none  # 隐藏标签(重点)  页面上不会保留位置也不显示
  	visibility:hidde  # 也是隐藏标签 但是位置会保留

六、盒子模型

所有的标签都可以看成一个个盒子模型

盒子内部: content(内容)

盒子内部内容与盒子距离: padding(内边距、内填充)

盒子的厚度: border/边框

盒子与盒子之间距离: margin(外边距)

ps:两个标签之间的距离,有时候可以用margin,也可以用padding

# 1.body标签默认自带8px的margin值 我们在编写页面之前应该去掉
	        margin-left: 0;
            margin-top: 0;
            margin-right: 0;
            margin-bottom: 0;
margin: 1px 2px 3px 4px	  上 右 下 左
margin: 1px 2px 3px		  上 左右  下
margin: 1px 1px			  上下	左右
margin: 1px				 统一设置一个值
    总结:遵循上右下左的顺时针顺序,如未设置,默认使用对边尺寸,或者正方形

# 2.padding用法与margin一致
...

盒子模型页面布局:
	标签的水平居中,可以使用固定搭配:
  	margin: 0 auto;

七、浮动(重要)

# 1.浮动的作用
  float: left/right;  # 顶部左/右侧浮动
可以将块级标签浮动起来,置顶,看上去像是飘在空中

# 2.浮动的影响
(1)浮动会造成父标签塌陷,未设置
(2)浮动的元素有时候也会遮挡住底下的区域,如果区域内有文本内容,浏览器会遵循文本内容优先展示的原则,会想法设法让文本展示出来

# 3.消除浮动的影响
clear: left;
推导流程
  (1)直接写div然后写对应的长宽
  (2)写div然后添加clear属性 避免去查找长宽
  (3)万能公式(固定搭配 记住就可以)
  	.clearfix:after {
            content: '';
            clear: both;
            display: block;
        }
 """
 以后写网页 提前写好上面的代码 
 然后哪个标签塌陷了就给谁添加上clearfix类名即可
 很多前端页面框架使用的也是clearfix类名,或者其他类名
 """

八、溢出属性

1、文本内容超出了标签的最大范围

overflow: hidden;  # 直接隐藏文本内容
overflow:auto/scroll;  # 提供滚动条查看

2、溢出实战案例

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
        body {background-color: darkgray;}
        div {
            height: 200px;
            width: 200px;
            border-radius: 50%;
            border: 5px solid white;
            overflow: hidden;  # 隐藏除以圆半径外多余的部分
        }
        div img {width: 100%;}  # 图片100%呈现
    </style>
</head>
<body>
    <div>
        <img src="https://img1.baidu.com/it/u=3617933135,4201763031&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=500" alt="">
    </div>
</body>

九、定位

1、定位的状态

(1)静态定位:static

所有的标签默认都是静态定位即不能通过定位操作改变位置

div {
    height: 100px;
    width: 100px;
    background-color: red;
    
    position: static;  /*默认是静态定位 即不能通过定位参数改变位置*/
}

(2)相对定位:relative

相对于标签“原来”的位置做定位

div {
    height: 100px;
    width: 100px;
    background-color: red;
    
    position: relative  /*相对定位*/
    left: 100px;  /*从左往右移动100px*/  /*定位操作*/
}

(3)绝对定位:absolute

相对于已经定位过的父标签做定位;

如果没有父标签或者父标签没有定位,则以body为准,相当于变成了相对定位;

 .c2 {
     height: 100px;
     width: 200px;
     background-color: green;
     position: absolute;  /*绝对定位*/
     top: 50px;  /*定位操作*/
     left: 100px;  /*定位操作*/
 }

(4)固定定位:fixed

相对于浏览器窗口做定位

.c1 {
    height: 50px;
    width: 100px;
    border: 5px solid white;
    position: fixed;  /*相当于在右下角设置了一个固定的标签*/
    right: 0;  /*距离浏览器右边距为0*/
    bottom: 50px;  /*距离浏览器底部距离50px*/
}

十、z-index

ps:前端界面其实是一个三位坐标系,z轴指向用户;

eg:动态弹出的分层界面,我们也称之为模态框

z-index不写默认为0,即浏览器最底层

.cover {
    height: 200px;
    width: 400px;
    background-color: white;
    z-index: 11; /*设置z轴值为11*/
}

补充知识:

rgba(128,128,128,0.5)  # 最后一个参数可以调整颜色透明度,默认为1即不透明
因此可以将层级以半透明的形式展现出来