防止儿童 div 脱离 CCS-Card

Posted

技术标签:

【中文标题】防止儿童 div 脱离 CCS-Card【英文标题】:Prevent children div from breaking out of the CCS-Card 【发布时间】:2020-11-05 06:49:59 【问题描述】:

我想创建一个 CSS-Card

左侧应该是一张图片,而骑行一侧应该是标题和段落。

此外,在右侧的下半部分应该有头像、帖子的名称和日期。


所以我的问题是

如何防止 container-article 中的内容与 container-card 重叠?

My Current State with the CSS-Card

---------

HTML

<!DOCTYPE html>
<html>
  <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" />

    <meta name="author" content="Ufuk Can Varol" />
    <meta name="description" content="Article Card v3" />
    <!-- CSS -->
    <link rel="stylesheet" href="css/index.css" />
    <!-- Font-Family [Manrope]-->
    <link
      href="https://fonts.googleapis.com/css2?family=Manrope:wght@500;700&display=swap"
      rel="stylesheet"
    />
    <!-- Favicon -->
    <link
      rel="shortcut icon"
      type="image/png"
      href="assets/images/favicon-32x32.png"
    />

    <title>Article</title>
  </head>

  <body>
    <div id="container">
      <div class="container-card">
        <div class="container-image"></div>
        <div class="container-article">
          <div class="article-header">
            <h2>
              Lorem ipsum dolor sit amet consectetur adipisicing elit.
              Voluptatum, officia.
            </h2>
            <p>
              Lorem ipsum dolor sit, amet consectetur adipisicing elit. Ipsum,
              vel suscipit impedit accusantium nihil minima asperiores,
              exercitationem sapiente ad expedita fugiat. Veritatis sit
              voluptatem qui est unde, aspernatur nemo impedit!
            </p>
          </div>
          <div class="article-footer">
            <div class="article-footer-author">
              <div class="author-image"></div>
              <p>
                Savannah Garrett <br />
                28 Jun 2020
              </p>
            </div>
            <div></div>
          </div>
        </div>
      </div>
    </div>
  </body>
</html>

CSS

body 
  margin: 0;
  padding: 0;

  font-family: 'Manrope', sans-serif;
  background-color: aliceblue;


#container 
  width: 100vw;
  height: 100vh;

  margin: 0;
  padding: 0;

  display: grid;
  justify-content: center;
  align-items: center;
  justify-items: center;
  align-items: center;

  background-color: antiquewhite;


.container-card 
  width: 800px;
  height: 300px;

  margin: 0;
  padding: 0;

  display: grid;
  grid-template-columns: 2fr 3fr;
  background-color: aqua;


.container-image 
  width: 100%;
  height: 100%;

  margin: 0;
  padding: 0;

  background-color: azure;


.container-article 
  width: 100%;
  height: 100%;

  margin: 0;
  padding: 40px;

  display: flex;
  flex-direction: column;
  position: relative;
  box-sizing: border-box;
  background-color: aquamarine;


.article-header 
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background-color: bisque;


.article-footer 
  width: 100%;
  height: 100%;
  background-color: blueviolet;

【问题讨论】:

【参考方案1】:

.container-card 中删除height: 300px。如果您设置了固定高度,它不会扩展以适应其子元素。

【讨论】:

我不希望 div 容器卡适应其内容,而是我正在寻找一种方法来防止内容与 div 容器卡重叠 所以你想缩小内容? 是的,我希望 div 容器卡中的内容缩小而不是爆发 您可以缩小内容的大小,即font-sizemargin,使其适合。但是,由于.container-card 具有固定的高度和宽度,它的内容不会缩小。 有没有办法强制内容缩小以适应?

以上是关于防止儿童 div 脱离 CCS-Card的主要内容,如果未能解决你的问题,请参考以下文章

javascript 防止儿童点击传播

为啥 forEach 不适用于儿童?

如何设置儿童 div 的样式

解决方案人员监控技术监测孩子行动轨迹,防止儿童走失

如何改变儿童的不透明度[重复]

Tailwind - Flex 行儿童不会长高