CSS Grid自动添加一个:: before元素

问题描述 投票:0回答:2

我是CSS的新手,并尝试简单的网格布局。这就是我所拥有的。

CSS

.layoutGrid {
    display: grid;
    grid-gap: 10px;
    grid-auto-rows: minMax(100px, auto);
}

.articleCard {
    display: grid;
    grid-template-rows: 100px 300px 100px;
    grid-template-areas: "article-title"
                         "article-body"
                         "article-footer";
    grid-auto-flow: row dense;
}

.articleHeader {
    grid-area: article-title;
}

.articleBody {
    grid-area: article-body;
}

.articleFooter {
    display: grid;
    grid-template-columns: 0.5fr 0.5fr;
    grid-template-areas: "articleDomain articleKeypoints";
    grid-area: article-footer;
    grid-auto-flow: row dense;
}

.articleKeypoints {
    grid-area: article-keypoints;
}

.articleDomain {
    grid-area: article-domain;
}

@media only screen and (min-width: 600px) {
    .layoutGrid {
        grid-template-columns: repeat(3, 1fr);
    }

}

@media only screen and (max-width: 600px) {

    .layoutGrid {
        grid-template-columns: repeat(1, 1fr);
    }
}

HTML

<div id="mainContent" className="container layoutGrid">
        <Card className={"articleCard"} style={{height:"500px", flex: "1 1 auto", padding: "1.25rem", boxSizing: "border-box"}}>

            <CardHeader className="articleHeader">
                <CardTitle>{props.articleDetails.Title}</CardTitle>
            </CardHeader>
            <CardBody className="articleBody">
                <CardText>{props.articleDetails.Summary}</CardText>
            </CardBody>
            <div className="row articleFooter">
                <div className="col-auto mr-auto">
                    <Button outline color="info">Read Keypoints</Button>
                </div>
                <div className="col-auto">
                    <CardSubtitle style={{verticalAlign: 'text-bottom'}}>
                        <small>{props.articleDetails.Domain}</small>
                    </CardSubtitle>
                </div>
            </div>
        </Card>
    </div>

这里没有添加:: before元素,但在结果中,网格的第一个元素始终是:: before元素。甚至称为“读取关键点”的内部网格也存在同样的问题。外部布局是循环的,但我不认为这会影响任何事情。

enter image description here

任何人都可以告诉我如何解决这个问题,并且任何关于如何改善布局整体结构的指针都会非常感激!

html css reactjs css-grid
2个回答
1
投票

写我的评论作为答案,因为它似乎做了伎俩。

这是bootstrap.css它的.container选择器,它添加了之前和之后。如果你正在使用网格,你应该不在这里使用类容器(一些其他名称)或不使用bootstrap。


-2
投票

::before::after没有任何问题。这些是CSS伪元素/选择器,它们在每个所选元素的内容之前/之后插入一些东西。

这里显示它们是因为在浏览器的Developers工具中动态查看代码。

只需将其与页面的真实来源进行比较 - 右键单击​​页面并选择View page source(该消息在Web浏览器中有所不同)。将显示一个空白选项卡,其中包含从服务器发送到Web浏览器的确切代码。

© www.soinside.com 2019 - 2024. All rights reserved.