官术网_书友最值得收藏!

Show morefeature

We've run into a problem now that thelistssection is after theAboutsection. TheAboutsection has an arbitrary length, and in some of the mock listings that we'll add you'll see that this section is quite long.

We don't want it to dominate the page and force the user to do a lot of unwelcome scrolling to see thelistssection, so we need a way to hide some of the text if it's too long, yet allow the user to view the full text if they choose.

Let's add ashow moreUI feature that will crop theAbouttext after a certain length and give the user a button to reveal the hidden text:

Figure 2.8.Show morefeature

We'll start by adding acontractedclassto theptag that contains theabouttext interpolation. The CSS rule for this class will restrict its height to 250 pixels and hide any text overflowing the element.

index.html:

<p class="about">
  <h3>About this listing</h3>
  <p class="contracted">{{ about }}</p>
</p>

style.css:

.about p.contracted {
  height: 250px;
  overflow: hidden;
}

We'll also put a button after theptag that the user can click to expand the section to full height.

index.html:

<p class="about">
  <h3>About this listing</h3>
  <p class="contracted">{{ about }}</p>
  <button class="more">+ More</button>
</p>

Here's the CSS that's needed, including a generic button rule that will provide base styling for all buttons that we'll add throughout the project.

style.css:

button {
  text-align: center;
  vertical-align: middle;
  user-select: none;
  white-space: nowrap;
  cursor: pointer;
  display: inline-block;
  margin-bottom: 0;
}

.about button.more {
  background: transparent;
  border: 0;
  color: #008489;
  padding: 0;
  font-size: 17px;
  font-weight: bold;
}

.about button.more:hover, 
.about button.more:focus, 
.about button.more:active {
  text-decoration: underline;
  outline: none;
}

To make this work, we need a way to remove thecontractedclass when the user clicks theMorebutton. Seems like a good job for directives!

主站蜘蛛池模板: 武定县| 鄂托克前旗| 嘉鱼县| 鄂尔多斯市| 大田县| 金湖县| 全椒县| 平湖市| 普陀区| 南宁市| 广东省| 即墨市| 肇东市| 万全县| 石林| 盐源县| 连平县| 东海县| 临城县| 乡城县| 亳州市| 青岛市| 治多县| 中方县| 辽中县| 沙坪坝区| 县级市| 华池县| 永昌县| 丰县| 天祝| 呼伦贝尔市| 南郑县| 镇宁| 平顺县| 庐江县| 平果县| 资溪县| 陆良县| 济源市| 贵州省|