【前端学习笔记】2. CSS

news/2024/11/17 22:20:55/

文章目录

  • 1 CSS 应用方式
  • 2 选择器
  • 3 样式
    • 3.1 高度和宽度
    • 3.2 块级和行内标签
    • 3.3 字体和颜色
    • 3.4 文字对齐方式
    • 3.5 浮动
    • 3.6 内边距
    • 3.7 外边距
    • 3.8 案例:小米商城
  • 4 知识点
    • 4.1 hover(伪类)
    • 4.2 after(伪类)
    • 4.3 position
    • 4.4 border
    • 4.5 背景色

1 CSS 应用方式

  1. 在标签上
<img src="..." style="height: 100px" /><div style="color:red;">中国联通</div>
  1. 在 head 标签中写 style 标签
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>我的联通</title><style>.c1{color:red;}</style>
</head>
<body><h1 style='c1'>中国联通</h1>
</body>
</html>
  1. 写到文件中
.c1{height:100px;
}
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>我的联通</title><link rel="stylesheet" href="common.css">
</head>
<body><h1 style='c1'>中国联通</h1>
</body>
</html>

2 选择器

  1. ID 选择器;
#c1{}
<div id="c1"></div>
  1. 类选择器;【最常用】
.c2{}
<div class="c2"></div>
  1. 标签选择器;
div{}
<div>xxx</div>
  1. 属性选择器
input[type='text']{border:1px solid red;
}
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>我的联通</title>input[type='text']{border:1px solid red;}
</head>
<body><input type="text" />
</body>
</html>
  1. 后代选择器
.yy li{color:pink;
}
<!-- 只用于子代-->
.yy > a{color:dodgerblue;
}
<div class="yy"><a>百度</a><div><a>谷歌</a></div><ul><li>美国</li><li>日本</li><li>韩国</li></ul>
</div>

3 样式

3.1 高度和宽度

.c1{height:300px;width:500px;
}

注意事项:

  • width 还可以用百分比;
  • 对于行内标签,默认无效;
  • 对于块级标签,默认有效(但是即使右侧区域空白也不允许其他内容占用)

3.2 块级和行内标签

  • 块级
  • 行内
  • css 样式 : 标签 -> display:inline-block 行内标签
    display: block 块级标签

3.3 字体和颜色

.c1{color: # 00FF7F;	/* 字体颜色 */font-size:18px;	/* 字体大小 */font-weight: 400;	/* 加粗 */font-family: Microsoft Yahei;	/* 字体样式 */
}

3.4 文字对齐方式

.c1{text-align:center; /* 水平方向居中 */line-height: 59px; /* 垂直方向居中*/ 
}

3.5 浮动

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><span>左边</span><span style="float: right">右边</span>
</body>
</html>

div 默认块级标签,如果将其设置为 浮动 ,那么就是自己有多宽就占多宽,不会占一整行。

但是如果让标签浮动起来,那么会脱离文档流, 可能覆盖原有的数据。因此记得在若干浮动的 div 之后加一句:

<div style="clear: both;"></div>

3.6 内边距

.outer{padding-top: 20px;padding-left: 20px;padding-right: 20px;padding-bottom: 20px;
}
.outer{padding: 20px;
}
.outer{padding: 20px, 10px, 5px, 15px;/* 上 右 下 左*/
}

3.7 外边距

我与别人的距离。

.outer{margin-top: 20px;
}

3.8 案例:小米商城

总结:

  1. body 标签,默认有一个边距,造成页面四边有白色间隙,如何去除?
body{margin : 0;
}
  1. 内容居中
  • 文本居中,文本会在这个区域中居中;
    <div style="width= 200px; text-align:center;">rice</div>
  • 区域居中, 自己要有宽度, 并且使用 margin-left:auto; margin-right:auto;
.container{width: 980px;margin: 0 auto;
}
<div class="container">rice
</div>
  1. 如果父亲没有高度或宽度,会被孩子支撑起来。(跟孩子的高度或宽度一致)
  1. a 标签 是行内标签,其高度、内外边距,默认无效;如果要改变它的相关参数,需要先把它的样式设置为 display:inline-block;
  1. a 标签默认有下划线,如果要去掉:
    text-decoration: none;
  1. 垂直方向居中
  • 文本 + line-height
  • 图片 + 边距
  1. 鼠标放上去字体变化, hover:
.c1:hover{...
}
a:hover{
}
  1. 设置透明度
opacity:0.5; /* 0~1 */

4 知识点

4.1 hover(伪类)

鼠标移动到该区域会产生新的效果。

4.2 after(伪类)

  1. 在原有文本后追加内容;
  2. 清除浮动;
<style>
.clearfix:after{content:"";display: block;clear: both;
}
</style>

4.3 position

  1. fixed
    固定在窗口的某个位置。
.back{position: fixed;width: 68px;height: 60px;border: 1px solid red;left: 0px;top: 0px;
}<div class="back"></div>

案例: 对话框

2.relative 和 absolute
外层用 relative ,内层样式指定 absolute ,内层位置相对于外层变化。

4.4 border

border: 3px solid red;/*边框的宽度 实线 颜色*/
border-left /* 左边框 */

透明色:transparent

4.5 背景色

background-color: red;


http://www.ppmy.cn/news/3842.html

相关文章

Ros VsCode C++ 打断点Debug过程实现 | 可能是当前好懂的教程

前言 学了蛮久的Ros&#xff0c;最近第一次有一个项目去复现,通过C实现。实现过程中必然需要Debug一步步的解决问题。然后发现VsCode上Debug Ros还是有点麻烦的&#xff0c;(不同于IDEA非常简明的Debug方式&#xff0c;这里要谴责一下微软&#xff0c;新建项目还要整includepa…

openEuler 倡议建立 eBPF 软件发布标准

eBPF 是一个能够在内核运行沙箱程序的技术&#xff0c;提供了一种在内核事件和用户程序事件发生时安全注入代码的机制&#xff0c;使得非内核开发人员也可以对内核进行控制。随着内核的发展&#xff0c;eBPF 逐步从最初的数据包过滤扩展到了网络、内核、安全、跟踪等&#xff0…

acm是什么?你准备好去打了吗?(未完结)

1.引言2.acm究竟是什么&#xff1f;3.acm的时间安排4.acm该如何准备1.引言 作为一个零基础的小白&#xff0c;acm这条路走的并不顺畅&#xff0c;接触的信息很少&#xff0c;以至于在这条道路上走了不少弯路&#xff0c;浪费了大量的时间&#xff0c;现在也快要退役的阶段&…

【java设计】:全民飞机大战小游戏制作

文章目录 前言 一、全民飞机大战 二、计划安排 三、源码图和类图展示

改进类电磁机制算法(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭:行百里者,半于九十。 📋📋📋本文目录如下:🎁🎁🎁 目录 💥1 概述

第16章 前端登录页面的定义实现

1 Vue与uni-app Uni-app是基于Vue的&#xff0c;但以不完成等同于Vue&#xff0c;Vue的前端实现只能使用浏览器进行渲染显示&#xff0c;而uni-app的前端实现&#xff0c;可以在小程序、App、浏览器都能够进行渲染显示。 Vue与Razor 1、如果没能指定需要前后端分离实现&#x…

【Flask框架】——16 Jinja2模板

文章目录Jinja2模板一、Jinja2模板介绍1.模板传参2.语法二、表达式三、控制语句1.条件判断语句2.for循环语句&#xff1a;四、过滤器1.什么是过滤器2.字符串的过滤器3.数值过滤器4.列表相关过滤器5.字典相关过滤器6.自定义过滤器五、测试器1.Jinja2中内置的测试器2.自定义测试器…

十个精妙绝伦的SQL语句,说尽SQL精华

目录引子十大SQL1. 统计班级总分前十名2. 删除重复记录, 且保留一条3. 最大连续登陆天数的问题4. 计算除去部门最高工资&#xff0c;和最低工资的平均工资5. 计算占比和同比增长6. 算成绩7.算昨天每个城市top 10消费金额的用户&#xff0c;输出city_id,city_name,uid, 消费总金…