前端与移动开发-----CSS(emmet 语法+CSS 复合选择器+元素的显示模式)

本文介绍了前端开发中的效率工具Emmet及其用于快速生成HTML结构和CSS样式的语法,包括设置宽高、快速样式等。此外,详细阐述了CSS选择器的用法,如后代选择器、子元素选择器、并集选择器、伪类选择器等,以及如何利用这些选择器进行元素定位和样式设置。内容涵盖了链接伪类、焦点伪类以及元素的显示模式转换,帮助开发者提升编码效率。
摘要由CSDN通过智能技术生成

css

emmet 语法 —— 开发效率

emmet 的特点和作用:通过简写提高编码效率。
emmet 生成 HTML 结构语法:
在这里插入图片描述
emmet 语法快速生成 css 样式:
1,常用属性大多用英文单词的首字母连写即可,示例如下:
tac → text-align: center;
ti2em → text-indent: 2em;
lh26px → line-height: 26px;
tdn → text-decoration: none;
2,设置宽高:
w100 → width: 100px;
h200 → height: 200px;
下面展示一些快速样式,便于大家理解:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- p*5 -->
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <!-- ul>li*5 -->
    <ul>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>
    <!-- h1+div*5+h2+p*2 -->
    <h1></h1>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <h2></h2>
    <p></p>
    <p></p>
    <!-- .red -->
    <div class="red"></div>
    <!-- p.red -->
    <p class="red"></p>
    <!-- p.class -->
    <p class="class"></p>
    <!-- p$*2 -->
    <p1></p1>
    <p2></p2>
</body>
</html>

CSS 复合选择器

后代选择器
应用场景:可以选择父元素中的子元素
语法格式:选择器1 选择器2 {样式声明;}
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .adv-selector ul li {
            color: yellowgreen;
        }

    </style>
</head>
<body>
    <h3>基础选择器</h3>
<div>
  <ul>
    <li>标签选择器</li>
    <li>类选择器</li>
    <li>id 选择器</li>
    <li>通配符选择器</li>
  </ul>
</div>
<h3>复合选择器</h3>
<div class="adv-selector">
  <ul>
    <li>后代选择器</li>
    <li>子代选择器</li>
    <li>并集选择器</li>
    <li>伪类选择器</li>
  </ul>
</div>
</body>
</html>

子元素选择器(亲儿子选择器)
应用场景:选择某个元素最近一级的子元素(亲儿子)
语法格式:选择器1 > 选择器2 {样式声明;}
实例:
要求:将下面链接文字修改为红色。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
<div class="nav">
  <ul>
    <li><a href="#">百度</a></li>
    <li><a href="#">百度</a></li>
  </ul>
</div>
</body>
</html>

参考代码:

```html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .nav ul li a {
 					 color: red;
		}
    </style>
</head>
<body>
<div class="nav">
  <ul>
    <li><a href="#">百度</a></li>
    <li><a href="#">百度</a></li>
  </ul>
</div>
</body>
</html>

并集选择器
应用场景:集体声明 —— 选择多组标签,同时设置相同的样式。
语法格式:

选择器1,
选择器2 {
  样式声明;
}

实例:
使用并集选择器把素材代码中的熊大、熊二和小猪一家改为粉色;

<div>熊大</div>
<p>熊二</p>
<span>光头强</span>
<ul class="pig">
  <li>小猪佩奇</li>
  <li>猪爸爸</li>
  <li>猪妈妈</li>
</ul>

参考代码:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>复合选择器之并集选择器</title>
    <style>
        /* 要求1: 请把熊大和熊二改为粉色 */
        /* div,
        p {
            color: pink;
        } */

        /* 要求2: 请把熊大和熊二改为粉色 还有 小猪一家改为粉色 */
        div,
        p,
        .pig li {
            color: pink;
        }

        /* 约定的语法规范,我们并集选择器喜欢竖着写 */
        /* 一定要注意,最后一个选择器 不需要加逗号 */
    </style>
</head>

<body>
    <div>熊大</div>
    <p>熊二</p>
    <span>光头强</span>
    <ul class="pig">
        <li>小猪佩奇</li>
        <li>猪爸爸</li>
        <li>猪妈妈</li>
    </ul>
</body>
</html>

链接伪类选择器
应用场景:针对链接的不同状态设置不同的样式
链接伪类选择器:
a:link -----选择所有未被访问的链接
a:visited ----选择所有已经被访问的链接
a:hover ----选择鼠标指针位于其上的链接
a:active ----选择激活链接(鼠标按下未抬起的链接
参考代码:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>复合选择器之链接伪类选择器</title>
    <style>

      /* 1.未访问的链接 a:link  把没有点击过的(访问过的)链接选出来 */
      a:link {
        color: #333;
        text-decoration: none;
      }

      /*2. a:visited 选择点击过的(访问过的)链接 */
      a:visited {
        color: orange;
      }

      /*3. a:hover 选择鼠标经过的那个链接 */
      a:hover {
        color: skyblue;
      }

      /* 4. a:active 选择的是我们鼠标正在按下还没有弹起鼠标的那个链接 */
      a:active {
        color: green;
      }
    </style>
  </head>
  <body>
    <a href="#">小猪佩奇</a>
    <a href="http//www.baid1512656165161ucom.com">未知的网站</a>
  </body>
</html>

链接伪类选择器的书写顺序要求:
link visited hover active
记忆:
(L)o(V)e (H)(A)t [爱与恨]
(L)(V)包包(H)(A)o

focus 伪类选择器

应用场景:
在表单中突出显示当前获得焦点的表单元素,提升用户体验
实例:把获得光标的input表单元素选取出来

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>focus伪类选择器</title>
    <style>
        /* // 把获得光标的input表单元素选取出来 */
        input:focus {
            background-color: pink;
            color: red;
        }
    </style>
</head>
<body>
    <input type="text">
    <input type="text">
    <input type="text">
</body>
</html>

复合选择器总结
在这里插入图片描述

元素的显示模式

元素显示模式
元素以什么方式进行显示 HTML

块元素 —— block

块级元素特点:

  1. 独占一行
  2. 可以设置宽度、高度、外边距、边框和内边距
  3. 宽度默认是父级容器的宽度
  4. 可以存放其他行内元素和块级元素
    块级元素注意事项:
    开发时不要在文本类元素中添加其他元素,专注于文本存放( h1~h6 、 p )
    常见的块级元素:
    div 、 ul 、 ol 、 li 、 h1~h6 、 p
    实例:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>显示模式之块级元素</title>
    <style>
        div {
            /* width: 200px; */
            height: 200px;
            background-color: pink;
        }
    </style>
</head>

<body>
    <div>比较霸道,自己独占一行</div> 瑟瑟发抖
    <p>
        <div>这里有问题</div>
    </p>
</body>
</html>

行内元素 —— inline

行内元素有特点:

  1. 相邻行内元素在一行显示,一行多个
  2. 给行内元素设置宽高是无效的
  3. 默认宽度是内容的宽度(被内容撑开)
  4. 只能容纳文本或其他行内元素
    行内元素注意事项:
    链接不能再放链接
    特殊情况的链接可以存放块级元素
    实例:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>显示模式之行内元素</title>
    <style>
        span {
            width: 100px;
            height: 100px;
            background-color: hotpink;
        }
    </style>
</head>

<body>
    <span>你怎么穿着品如的衣服呢</span> <strong>品如的衣服</strong>
    <span>老师</span> <strong>品如的衣服</strong>

    <a href="http://www.baidu.com">
        <a href=""></a>
    </a>
</body>
</html>

行内块元素 —— inline-block

行内块元素特点:

  1. 相邻行内元素在一行显示,一行多个(行内元素特点)
  2. 默认宽度就是本身内容的宽度(行内元素特点)
  3. 可以设置宽度、高度、外边距、边框和内边距(块级元素特点)
    实例:
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>显示模式之行内块元素(特殊情况)</title>
    <style>
        input {
            width: 249px;
            height: 35px;
        }
    </style>
</head>

<body>
    <input type="text">
    <input type="text">
</body>
</html>

元素显示模式总结

在这里插入图片描述

显示模式的转换

显示模式转换的应用场景
让行内元素具有宽高:把行内元素转换成块元素或者行内块元素
让块元素一行显示:把块元素转换成行内块元素
三种显示模式转换的代码
display: block 转换为块元素
display: inline-block 转换为行内块元素
display: inline 转化为行内元素(使用较少)

实例:简单小米侧边栏

  1. HTML 素材
<a href="#">手机 电话卡</a> 
<a href="#">电视 盒子</a> 
<a href="#">笔记本 平板</a> 
<a href="#">出行 穿戴</a> 
<a href="#">智能 路由器</a> 
<a href="#">健康 儿童</a> 
<a href="#">耳机 音响</a>
  1. 尺寸: 230px * 40px
  2. 颜色: #555 / #f70
    效果图:
    在这里插入图片描述
    参考代码:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        a {
            display: block;
            width: 230px;
            height: 40px;
            background-color: gray;
            text-decoration: none;
            color: #ffffff;
            text-indent: 2em;
            line-height: 40px;
        }
        a:hover{
            background-color: #ff7700;
        }
    </style>
</head>
<body>
    <a href="#">手机 电话卡</a>
    <a href="#">电视 盒子</a>
    <a href="#">笔记本 平板</a>
    <a href="#">出行 穿戴</a>
    <a href="#">智能 路由器</a>
    <a href="#">健康 儿童</a>
    <a href="#">耳机 音响</a>
</body>
</html>

单行文字垂直居中将 line-height 设置为盒子的高度。
实例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>单行文字垂直居中</title>
    <style>
        div {
            width: 200px;
            height: 40px;
            background-color: pink;
            line-height: 40px;
        }
    </style>
</head>

<body>
    <div>我要居中</div>
</body>
</html>

背景图片

背景颜色
一般情况下元素的背景颜色是transparent 透明的
背景图片
背景图片的应用场景:

  1. logo 2. 装饰图片 3. 超大图片 4. 精灵图(雪碧图)
    背景图片的优点:非常容易控制位置
    背景图片的语法:
background-image: none | url(url);

背景平铺
背景平铺 background-repeat 的属性:
在这里插入图片描述
背景位置-方位名词
background-position (背景位置)
方位名词:
水平方向: left / right / center 垂直方向: top / bottom / center
实例:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>背景位置-方位名词</title>
    <style>
        div {
            width: 300px;
            height: 300px;
            background-color: pink;
            background-image: url(images/logo.png);
            background-repeat: no-repeat;
            /* background-position:  方位名词; */
            /* background-position: center top; */
            /* background-position: right center; */
            /* 如果是方位名词  right center 和 center right 效果是等价的 跟顺序没有关系 */
            /* background-position: center right; */
            /* 此时 水平一定是靠右侧对齐  第二个参数省略 y 轴是 垂直居中显示的 */
            /* background-position: right; */
            /* 此时 第一个参数一定是 top y轴 顶部对齐   第二个参数省略x  轴是 水平居中显示的 */
            background-position: top;
        }
    </style>
</head>

<body>
    <div></div>
</body>

</html>

背景位置-精确单位
第一个值一定是 x / 第二个值一定是 y
背景位置-混合单位
第一个值一定是 x / 第二个值一定是 y

背景固定

背景固定的应用场景:可以制作视差滚动效果
background-attachment 有两个参数分别代表含义:
1,scroll 默认,背景图像跟随滚动
2,fixed 背景图像固定

背景属性复合写法

推荐顺序是: background: color image repeat attachment position

背景颜色半透明

background: rgba(0, 0, 0, 0.3);
rgba 中的 alpha 取值范围: 0 ~ 1 0 完全透明 / 1 完全不透明
背景总结
在这里插入图片描述
如有不足,请多指教,
未完待续,持续更新!
大家一起进步!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

東三城

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值