位置:电子教程 > 微信小程序设计教程 (如果看不到内容请使用360浏览器) 推荐学习资源
小程序样式基础
框模型
定位
选择器
当前阅读教程:微信小程序设计教程 > 后代选择器
阅读(22555525)      收藏       赞(5685)      分享
上一篇: 属性选择器 下一篇: 暂无

后代选择器(descendant selector)又称为包含选择器。后代选择器可以选择作为某元素后代的元素。

1.基础语法

我们可以定义后代选择器来创建一些规则,使这些规则在某些文档小白教程网结构中起作用,而在另外一些结构中不起作用。

举例来说,如果你希望只对 h1 元素中的 em 元素应用样式,可以这样写,代码示例

小白教程网www.2d5.net

如下:

h1 em {color:red;}

上面这个规则会把作为 h1 元素后代的 em 元素的文本变为 红色。其他 em 文本(如段落或块引用中的 em)则不会被这个规则选中,代码示例

小白教程网www.2d5.net

如下:

<html>
<head>
<style type="text/css">
h1 em {color:red;}
</style>
</head>
 
<body>
<h1>This is a <em>important</em> heading</h1>
<p>This is a <em>important</em> paragraph.</p>
</body>
</html>

效果如图6-4所示。

image.png


当然,你也可以在 h1 中找到的每个 em 元素上放一个 class 属性,但是显然,后代选择器的效率更高。在后代选择器中,规则左边的选择器一端包括两个或多个用空格分隔的选择器。选择器之间的空格是一种结合符(combinator)。每个空格结合符可以解释为“... ... 找到”、“... 作为 ... 的一部分”、“... 作为 ... 的后代”,但是要求必须从右向左读选择器。因此,h1 em 选择器可以解释为 “作为 h1 元素后代的任何 em 元素”。如果要从左向右读选择器,可以换成以下说法:“包含 em 的所有 h1 会把以下样式应用到该 em”。

后代选择器的功能极其强大。有了它,可以使 HTML 中不可能实现的任务成为可能。假设有一个文档小白教程网,其中有一个边栏,还有一个主区。边栏的背景为蓝色,主区的背景为白色,这两个区都包含链接列表。不能把所有链接都设置为蓝色,因为这样一来边栏中的蓝色链接都无法看到。

解决方法是使用后代选择器。在这种情况下,可以为包含边栏的 div 指定值为 sidebar class 属性,并把主区的 class 属性值设置为 maincontent。然后编写以下样式,代码示例

小白教程网www.2d5.net

如下:

div.sidebar {background:blue;}

div.maincontent {background:white;}

div.sidebar a:link {color:white;}

div.maincontent a:link {color:blue;}

有关后代选择器有一个易被忽视的方面,即两个元素之间的层次间隔可以是无限的。

例如,如果写作 ul em,这个语法就会选择从 ul 元素继承的所有 em 元素,而不论 em 的嵌套层次多深。因此,ul em 将会选择以下标记中的所有 em 元素,代码示例

小白教程网www.2d5.net

如下:

<html>
<head>
<style type="text/css">
ul em {color:red; font-weight:bold;}
</style>
</head>
 
<body>
<ul>
  <li>List item 1
    <ol>
      <li>List item 1-1</li>
      <li>List item 1-2</li>
      <li>List item 1-3
        <ol>
          <li>List item 1-3-1</li>
          <li>List item <em>1-3-2</em></li>
          <li>List item 1-3-3</li>
        </ol>
      </li>
      <li>List item 1-4</li>
    </ol>
  </li>
  <li>List item 2</li>
  <li>List item 3</li>
</ul>
</body>
</html>

效果如图6-5所示。

image.png


2.小程序应用

根据基础语法,下面在微信小程序中实现,使用后代选择器选择不同的元素实现字体不同的颜色。

.wxml文件代码示例

小白教程网www.2d5.net

如下:

<view> 
  <view>我是文本1</view>
  <text>我是文本2</text>
  <label>我是文本3</label>
 
  <navigator>连接1</navigator>
 
  <view>
    <navigator>连接2</navigator>
  </view>
 
  <view>
    <navigator><text>连接3</text></navigator>
  </view> 
  <view>
    <navigator><view>连接4</view></navigator>
  </view> 
 
</view>

.wxss文件代码示例

小白教程网www.2d5.net

如下:

view  text { color: red;}
navigator text{color: green;}
navigator view{color: blue;}

效果如图6-6所示

image.png

上一篇: 属性选择器 下一篇: 暂无
毕业设计网             广告联系QQ:45157718(微信同号)