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

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!

主站蜘蛛池模板: 武冈市| 梁河县| 万全县| 布拖县| 南安市| 竹北市| 许昌市| 辽中县| 永济市| 怀来县| 榆社县| 固阳县| 咸丰县| 什邡市| 明星| 南京市| 上犹县| 巴青县| 定西市| 扶余县| 灌南县| 灯塔市| 阿坝| 德格县| 灵寿县| 库车县| 永平县| 新民市| 淳安县| 武清区| 南和县| 涞水县| 敦化市| 龙井市| 崇阳县| 石泉县| 新龙县| 布尔津县| 含山县| 河西区| 伊吾县|