知道自己在做什么很重要

今天学习 emmet语法、CSS复合选择器、CSS元素显示模式、CSS的背景。

Emmet语法

  • 快速生成HTML结构语法
  1. 生成标签,直接输标签名,按tab; div---tab——<div></div>
  2. 生成多个相同标签,加上*即可; div*3——三个<div></div>
  3. 父子标签,可以用>;  ul >li 即可
  4. 兄弟标签, 用+ ;div+p
  5. 带类名或者ID名的,直接写 .demo 或者 #two tab 键就可以了
  6. div名有顺序,可以用自增符号$
  7. div {我知道} tab ——<div>我知道</div>
  • 快速生成CSS样式语法
  1. 比如  w200  按tab 可以生成 width:200px;
  2. 比如   lh26  按tab 可以生成 line-height:26px;
  • 快速格式化代码
  1. 右键格式化文档
  2. 也可以设置当我们保存页面的时候自动格式化代码:文件——首选项——设置——搜索format——勾选On Save

CSS复合选择器

复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的。常用的复合选择器包括:后代选择器子选择器并集选择器伪类选择器等等。

1 后代选择器(重要):也叫包含选择器,可以选择父元素里的所有子元素

.nav a

   <title>后代选择器</title><style>/* 我要把ol的li选出来换颜色 */ol li {color: aqua;}ul li {font-size: 20px;}.bra li a {text-decoration: none;}.nav li a {color: rgb(134, 76, 4);}</style>
</head><body><ol><li>我是ol的孩子</li></ol><ol class="bra"><li><a href="#">我是ol的孙子</a></li></ol><ol class="nav"><li><a href="#">我是ol的孙子</a></li></ol><ul><li>我是ul的孩子</li></ul>
</body>

2 子选择器(重要):也叫子元素选择器,可以选择最近一级元素,亲儿子元素。

.nav>a

 <title>子元素选择器</title><style>/* .nav a {color: red;} */.nav>a {color: red;}</style>
</head><body><div class="nav"><a href="#">我是儿子</a><p><a href="#">我是孙子</a></p></div>
</body>
  • 课堂练习:(后代选择器和子元素选择器)
 <title>课堂练习</title><style>/* .nav ul li a {color: red;} */.hot>a {color: red;}</style>
</head><body><!-- <div class="nav"><ul><li><a href="#">百度</a></li><li><a href="#">百度</a></li></ul></div> --><div class="hot"><a href="#">大肘子</a><ul><li> <a href="#">猪头</a></li><li> <a href="#">猪尾巴</a></li></ul></div>
</body>
  • 3 并集选择器(重要):可以选择多组标签,同时为他们定义相同的样式。 通常用于集体声明。用英文逗号 , 进行分割。最后一个选择器不用加逗号。

.nav,

a

        div,p {color: pink;}
  • 4 链接伪类选择器: 
  1. a:link ——选择所有未被访问的链接
  2. a:visited——选择所有已被访问的链接
  3. a:hover——选择鼠标指针位于其上的链接
  4. a:active——选择活动链接(鼠标按下未弹起的链接
<title>链接伪类选择器</title><style>/* 未访问的链接 a :link  把没有点击过的(访问过的)链接选出来 */a:link {color: red;text-decoration: none;}/* a visited 选择访问过的链接 */a:visited {color: green;}/* a hover 选择鼠标经过的那个链接 */a:hover {color: rgb(127, 8, 238);}/* a:active 选择的是我们鼠标正在按下但没有弹起鼠标的那个链接 */a:active {color: pink;}</style>
</head><body><a href="#">小猪佩奇</a><a href="http://www.XXXXX.com">未知的胖胖</a>
</body>
  • 注意事项:
  1. 为了确保生效,请按照顺序声明:link visited hover active
  2. 因为a链接在浏览器中具有默认样式,所以我们实际工作中都需要给链接单独指定样式。
  3. 链接伪类选择器实际工作开发中的写法:
  <title>实际开发伪类选择器</title><style>a {color: black;text-decoration: none;font-weight: 700;}a:hover {color: blue;}</style>
</head><body><a href="#">我是一个链接</a>
</body>
  • 5 focus伪类选择器 用于选取焦点的表单元素
 <title>focus伪类选择器</title><style>input:focus {background-color: rgb(247, 214, 219);color: white;}</style>
</head><body><input type="text"><input type="text"><input type="text">
</body>

CSS 的元素显示模式

1 什么是元素的显示模式

就是元素(标签)以什么方式进行显示,比如<div>自己占一行,比如一行可以放多个<span>。

HTML元素一般分为块元素行内元素

2 元素显示模式的分类

  • 块元素:<h1>--<h6>、<p>、<div>、<ul>、<ol>、<li>

特点

  1. 独占一行;
  2. 高度宽度外边距内边距都可以控制;
  3. 宽度默认是容器的100%;
  4. 是一个盒子,可以装行内或者块状元素。

注意:

  1. 文字类元素内不能使用块状元素;
  2. <p>标签主要放文字,所以<p>里不能放块状元素,特别不能放<div>
  3. 同理,<h1>--<h6>等都是文字类块级标签,里面也不能放其他块级元素。
    <title>块级元素</title><style>div {height: 50px;width: 200px;background-color: pink;}</style>
</head><body><div>独占一行就是我</div>我想和你一行<!-- p和h里面放文字内容,不要放div<p><div>这里有点问题</div></p> -->
</body>
  • 行内元素:<span><a><strong><b><em><i><del><s><ins><u>,也叫内联元素

特点:

  1. 相邻行内元素在一行,一行显示多个;
  2. 宽度,高度直接设置是无效的;
  3. 默认高度是它本身内容的宽度;
  4. 行内元素只能容纳文本或其他行内元素。

注意:

  1. <a>链接里不能再放链接;
  2. 特殊情况下<a>里面可以放块级元素,但是给<a>转换一下块级模式最安全。
  <title>行内元素</title><style>span {/* 高和宽直接设置是无效的,默认宽度为本身内容的宽度 */width: 100px;height: 200px;background-color: hotpink;}</style>
</head><body><!-- 行内元素只能容纳文本或其他行内元素 --><span>胖胖是个</span><strong>葡萄籽</strong>
</body>
  • 行内块元素:<img /><input /><td>,同时具有块元素和行内元素的特点。

特点:

  1. 和相邻行内块在一行,但之间有空白间隙,一行显示多个;(行内元素特点)
  2. 默认宽度是本身内容宽度;(行内元素特点)
  3. 高度,行高,内外边距可以控制。(块级元素特点)

3 元素显示模式的转换

一个模式的元素需要另外一个模式的特性。比如增加<a>的触发范围。

  • 转换为块元素display:block;
  • 转换为行内元素display:inline;
  • 转换为行内块元素display:inline-block;
  <title>元素显示模式转换</title><style>a {width: 100px;height: 50px;background-color: hotpink;text-decoration: none;/* 把行内元素 a 转换为块元素 */display: block;}div {width: 200px;height: 100px;/* 把块元素 div 转换为行内元素 */display: inline;}span {width: 100px;height: 80px;background-color: pink;/* 把行内元素 span 转换为行内块元素 */display: inline-block;}</style>
</head><body><a href="#">金星阿姨</a><a href="#">金星阿姨</a><div>我是块级元素</div><div>我是块级元素</div><span>把行内元素转换为行内块元素</span><span>把行内元素转换为行内块元素</span>
</body>

4 一个小工具的使用 snipaste

snipaste——截图工具,可以截图贴到屏幕上

快捷方式:

  1. F1+fn可以截图
  2. F3+fn 桌面置顶
  3. 点击图片,Alt取色,shift切换取色模式
  4. ESC取消图片显示

5 案例:简洁版小米侧边栏

 <title>案例题</title><style>a {text-decoration: none;color: white;background-color: rgb(112, 75, 75);display: block;width: 200px;height: 25px;text-indent: 2em;}a:hover {background-color: orange;}</style>
</head><body><!-- 可以不用div,转换成块级元素本身可以独占一行 --><a href="#">手机电话卡</a><a href="#">电视 盒子</a><a href="#">笔记本 平板</a><a href="#">出行 穿戴</a><a href="#">路由器</a><a href="#">健康 儿童</a><a href="#">耳机 音响</a>
</body>

6  单行文字垂直居中(小技巧)

CSS没有提供文字垂直居中的代码——解决方案: 让文字行高等于盒子高度

 <title>单行文字垂直居中</title><style>div {width: 200px;height: 30px;background-color: pink;/* 文字行高line-height等于盒子行高height即可垂直居中 */line-height: 30px;}</style>
</head><body><div>我要垂直居中</div>
</body>

CSS的背景

背景属性可以设置背景颜色、背景图片、背景平铺、背景图片位置、背景图像固定等。

1 背景颜色

background-color:transparent :默认背景颜色是透明的。

<title>背景颜色</title><style>div {width: 100px;height: 50px;/* 默认背景颜色是透明的background-color: transparent; */background-color: pink;}</style>
</head><body><div></div>
</body>

背景图片

background-image:描述元素的背景图片。便于控制位置。

background-image: url(图片路径)
 <title>背景图片</title><style>div {width: 1000px;height: 600px;/* 不要拉下URL */background-image: url(images/wlop.jpg);}</style>
</head><body><div></div>
</body>

背景平铺

background-repeat:进行平铺。

 <title>背景平铺</title><style>div {width: 2000px;height: 1000px;background-color: pink;background-image: url(images/wlop.jpg);/* 不进行背景平铺 *//* background-repeat: no-repeat; *//* 默认情况下,背景图片是平铺的 *//* background-repeat: repeat; *//* 沿着X轴平铺 *//* background-repeat: repeat-x; *//* 沿着Y轴平铺 */background-repeat: repeat-y;}</style>
</head><body><div></div>
</body>

背景图片位置(重要)

background-position:改变图片在背景中的位置。

background-position: x y ;

参数代表 x 坐标和 y 坐标。可以使用方位名词或者精确单位

方位名词:

  1. 如果两个值都是方位名词,前后顺序无关,效果一样;
  2. 如果指定一个值是方位名词,另一个值省略,则第二个值默认居中对齐。

<title>背景图片位置-方位名词</title><style>div {width: 500px;height: 500px;background-image: url(images/wlop.jpg);/* 1 如果两个值都是方位名词,前后顺序无关,效果一样 *//* background-position: right center; *//* background-position: center right; *//* 1 如果指定一个值是方位名词,另一个值省略,则第二个值默认居中对齐 *//* background-position: right; */background-position: top;}</style>
</head><body><div></div>
</body>

案例1:王者荣耀小图标

 <title>方位名词应用</title><style>h3 {width: 118px;height: 40px;font-size: 14px;font-weight: 400px;line-height: 40px;background-color: rgb(243, 211, 219);background-image: url(images/sprite.png);background-repeat: no-repeat;background-position: left center;text-indent: 2em;}</style>
</head><body><h3>成长守护平台</h3>
</body>

案例2:王者荣耀背景图

 <title>超大背景图</title><style>body {background-image: url(images/jpg.jpg);background-position: center top;background-repeat: no-repeat;}</style>
</head><body></body>

精确单位

  1. 如果参数是精确坐标,那么第一个肯定是x 第二个肯定是y ;
  2. 如果只有一个参数,参数一定是 x ,另外一个默认垂直居中。
<title>精确单位</title><style>div {background-image: url(images/wlop.jpg);width: 500px;height: 500px;background-color: pink;background-repeat: no-repeat;/* 如果参数是精确坐标,那么第一个肯定是x 第二个肯定是y  *//* background-position: 20px 50px; *//* background-position: 50px 20px; *//* 如果只有一个参数,参数一定是 x ,另外一个默认垂直居中 */background-position: 20px;}</style>
</head><body><div></div>
</body>

混合单位

  1. 指定两个值是精确单位和方位名词混合,第一个是x,第二个是y
 <title>混合单位</title><style>div {background-image: url(images/wlop.jpg);width: 500px;height: 500px;background-color: pink;background-repeat: no-repeat;background-position: 20px center;}</style>
</head><body><div></div>
</body>

背景图片固定(背景附着)

background -attachment:设置背景图像是否固定或者随着页面其余部分滚动 

 <title>背景图片固定</title><style>body {background-image: url(images/jpg.jpg);background-repeat: no-repeat;background-position: center top;color: #fff;font-size: 20px;background-attachment: fixed;}</style>
</head><body><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p>
</body>

背景复合写法

没有特定的书写顺序, 一般习惯顺序

background:背景颜色---背景图片地址---背景平铺---背景图像滚动---背景图片位置

 <title>背景属性复合写法</title><style>body {background: black url(images/jpg.jpg) no-repeat fixed center top;color: #fff;font-size: 20px;}</style>
</head><body><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p><p>学而不思则罔,思而不学则殆</p>
</body>

背景色半透明

background:rgba(0,0,0,.3);

最后一个是alpha透明度,取值在0-1之间,实际开发0.3——.3

 <title>背景半透明</title><style>div {width: 200px;height: 200px;background: rgba(0, 0, 0, .5);}</style>
</head><body><div>隐形的翅膀</div>
</body>

案例——导航栏

<title>多变导航栏</title><style>.nav a {/* 行内块元素 */display: inline-block;text-decoration: none;text-align: center;color: #fff;width: 114px;height: 44px;line-height: 44px;background: rgb(255, 255, 255);}.nav .bg1 {background: url(images/jpg1.jpg) no-repeat center;}.nav .bg2 {background: url(images/jpg2.jpg) no-repeat center;}.nav .bg1:hover {background: url(images/jpg2.jpg);}.nav .bg2:hover:hover {background: url(images/jpg1.jpg);}</style>
</head><body><div class="nav"><a href="#" class="bg1">五彩导航</a><a href="#" class="bg2">五彩导航</a><a href="#" class="bg1">五彩导航</a><a href="#" class="bg2">五彩导航</a></div></body>

学而不思则罔,思而不学则殆 。

DAY 4 | 自学前端第四天相关推荐

  1. grep从文件末尾开始找_新人自学前端到什么程度才能找工作?

    这个问题打我记事起到现在,问过我的人,没有1000也有800了.足以见得这个问题是多么的不得人心. 自学前端开发,不管他在网上百度了多少资料,看了多少教程,你总得先做个网页出来.所以,很多人都是从ht ...

  2. 自学前端,需要学习哪些知识点?学多久可以入职前端工程师?

    假如有那么残酷的一天,我不小心喝错了一瓶药,一下子抹掉了我这十多年的编程经验,把我变成了一只小白.我想自学 前端,并且想要找到一份工作,我预计需要 6 个月的时间,前提条件是每天都处于高效率的学习状态 ...

  3. 是自学前端还是培训学前端?

    "学web前端是自学好还是去培训机构,哪个靠谱?" 类似的问题应接不暇,包括前段时间逛知乎,关于这个话题的热度,还是居高不下. 都快2021年了,匆匆入场的人还是很多,尤其是在校大 ...

  4. 自学前端两三个月,很迷茫,有大佬可以指导吗?

    自学前端两三个月,很迷茫,有大佬可以指导吗? Web前端工程师已经成为互联网公司,最亲睐的对象,不管是起薪还是薪资涨幅,都居所有互联网行业职位之首,成为互联网行业最有"钱"景职位! ...

  5. B站Up主-山地人-这位老哥2019年的前端自学计划进展如何?——讲一个B站Up主自学前端85天的故事...

    前言 自从上次在掘金发布[2019年山地人的前端完整自学计划--讲一个B站UP主山地人的40天前端自学故事] 以来,一眨眼山地人老哥在B站做Up主已经有85天了. 时隔一个半月,这位山地人老哥现在究竟 ...

  6. 自学前端第一天:认识前端工程与网页

    自我介绍 列夫一个来自广东的咸鱼 ( 半角空格&ensp小, 全角空格&emsp大) 一.前端的基本含义: 前端即网站前台部分,运行在PC端,移动端等浏览器上展现给用户浏览的网页.随着 ...

  7. 自学前端开发,现在手握大厂offer,我的故事还在继续

    简要背景 我是一个非科班出身的程序员,而且是连续跨专业者,用一句话总结就是:16 届本科学完物流,保送研究生转交通,自学前端开发的休学创业者. 17 年休学创业,正式开始学习前端,离开创业公司后,我又 ...

  8. 自学前端需要达到什么水平才能去找工作?来看看这套前端学习路线图

    自学前端需要达到什么水平?当然是水平越高,越容易找到工作. 在竞争这么激烈的2020年,就需要更加的努力,充实自己,让自己不被代替! 看了好多的回答,大家都是再说学到什么水平能找到工作,我就来分享干货 ...

  9. 自学前端建立知识体系,是最简单入门以及工作后快速进阶的有效方法

    「自学」是不可能太「系统」的,因为没有人帮你把每一个阶段的学习内容定义清晰.由于缺乏别人提供的反馈,你没办法知道自己某一阶段的学习是否完成了.从事前端多年,根据经验一般的建议方式是,你去实体书店看看相 ...

最新文章

  1. ACMNO.38 C语言-报数 有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。
  2. 【KDD 2020】推荐系统领域论文汇总
  3. 漫画:如何给女朋友解释什么是删库跑路?
  4. 德信创业系2014版
  5. IOS7 开发注意事项
  6. Linux报错./configure: error: C compiler cc is not found
  7. unbuntu 启动任务脚本_Ubuntu下服务启动脚本编写
  8. CSS——设置第一个以外的元素样式:not(:first-child),设置最后一个除外的元素样式:not(:last-child)
  9. 与熊论道为什么解码不了_楼上熊孩子瞎蹦跳,楼下邻居投诉无果,一招吓哭“熊一家”...
  10. 消息中间件学习总结(17)——MQ与RPC的区别和关联
  11. Excel控件 Spire.XLS系列教程(2):C# 设置现有 Excel 图表的数据标签样式
  12. Youtube视频加字幕需要的软件电脑版+手机版 2020语音视频自动生成字幕软件
  13. 阿里腾讯裁员30%,互联网大厂此举预示着什么?
  14. 活动|QuarkChain 高TPS悬赏令:看你能有多快!2.4BTC等你拿!
  15. QAndroidJniObject::callStaticObjectMethod参数含义
  16. Linux 目录初识
  17. 微信小程序申请医疗-就医服务类目解决办法
  18. python+flask项目实战开发
  19. android8.0技术体系,安卓8.0剧透汇总:这样简洁流畅的系统,连iOS都怕了!
  20. python饼图添加颜色_PythonPlotly:通过字典自定义饼图颜色

热门文章

  1. 攻防世界MISC进阶区刷题记录
  2. 图片加载异常兜底方案
  3. Win7下eclipse提交Job到hadoop集群
  4. 数字化发展正在影响服装企业
  5. C盘容量不足,磁盘满了怎么办
  6. 美国人眼中的大数据法律问题
  7. The word ‘localhost‘ is not correctly spelled 这个问题怎么解决
  8. iOS 支持3DTouch快捷菜单
  9. kubesphere master节点执行kubectl get po Unable to connect to the server: Forbidden
  10. ubuntu16.04 安装显卡驱动