【问题标题】:Can't get rid of CSS grid gutter (and embed is too wide)无法摆脱 CSS 网格装订线(并且嵌入太宽)
【发布时间】:2021-03-20 03:55:45
【问题描述】:

我有一个简单的两行 CSS 网格(嵌套在另一个网格中),我有两个问题。

  1. 我无法让行之间的间距消失,除非将顶行内容的下边距减少 3 像素。关于更优雅的解决方案的任何想法?我在下面的 CSS 中注释掉了我的残酷修复。直播链接:http://nyveen.ca/bb-test/

  2. 为什么嵌入的 Vimeo 视频会超出媒体 div 的边界一两个像素?

@charset "UTF-8";

body {
  background-color: #89726c;
}


.main-nav {
  grid-area: nav;
}

.main-head {
  grid-area: header;
}

.content {
  grid-area: content;
  background-color: #443937;
}

.main-footer {
  grid-area: footer;
}

.wrapper {
  margin: 5%;
  display: grid;
  gap: 20px;
  grid-template-areas: 
    "nav"
    "header"
    "content"
    "footer";
}

header, footer {
  background-color: #000000;
  color: #89726c;
}

nav, .content, a {
  color: #fffcfd;
}

nav ul {
  display: flex;
  justify-content: space-between;
}

img {
  max-width: 100%;
}

.media {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: auto;
}

.image1 {
  grid-column-start: 1; 
  grid-column-end: 2; 
  grid-row-start: 1; 
  grid-row-end: 2; 
}

.image2 {
  grid-column-start: 2; 
  grid-column-end: 3; 
  grid-row-start: 1; 
  grid-row-end: 2; 
}

/** .image1, .image2 {
  margin-bottom: -3px;
}
**/

.video {
  grid-column-start: 1; 
  grid-column-end: 3; 
  grid-row-start: 2; 
  grid-row-end: 3;
}
<div class="wrapper">
    
    <nav class="main-nav">
        <ul>
            <li><a href="">Link 1</a></li>
            <li><a href="">Link 2</a></li>
        </ul>
    </nav>
    
    <header class="main-head">
        <p>TITLE</p>
        <p>in progress</p>
        <p>by me</p>    
    </header>
   
    <div class="content">
  
        <h1>film title 2020 00:05:00</h1>
        <div class="media">
            <div class="image1"><img src="http://nyveen.ca/bb-test/images/1.png"></div>
            <div class="image2"><img src="http://nyveen.ca/bb-test/images/2.png"></div>
            <div class="video">
                <div style="padding:46.88% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/207028770" style="position:absolute;top:0;left:0;width:100%;height:100%;" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe></div>
                <script src="https://player.vimeo.com/api/player.js"></script>
            </div>          
        </div>  

        <h1>second film 2020 00:05:00</h1>
        <div class="media">
            <div class="image1"><img src="http://nyveen.ca/bb-test/images/3.png"></div>
            <div class="image2"><img src="http://nyveen.ca/bb-test/images/4.png"></div>
            <div class="video">
                <div style="padding:42.5% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/108650530?color=ffffff&title=0&byline=0&portrait=0&badge=0" style="position:absolute;top:0;left:0;width:100%;height:100%;" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe></div>
                <script src="https://player.vimeo.com/api/player.js"></script>
            </div>          
        </div>  
        
    </div> 

    <footer class="main-footer">The footer</footer>
    
</div>

【问题讨论】:

    标签: css grid vimeo


    【解决方案1】:

    要解决装订线问题,只需为图像包装设置全高,为内部图像设置全宽和全高,并最终覆盖它们,像这样。

    .image1 {
        grid-column-start: 1; 
        grid-column-end: 2; 
        grid-row-start: 1; 
        grid-row-end: 2; 
        height: 100%;
    }
    
    .image2 {
        grid-column-start: 1; 
        grid-column-end: 2; 
        grid-row-start: 1; 
        grid-row-end: 2; 
        height: 100%;
    }
    
    .image1 img, .image2 img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    

    关于你的第二个问题。我没有看到媒体 div 的任何边框。

    【讨论】:

    • 太棒了。感谢您的排水沟修复。我没有指定媒体 div 的 CSS 边框。也许我应该写“嵌入的视频延伸到媒体 div 的边缘之外......”
    • 它没有扩展。嵌入的视频与其父媒体具有完全相同的宽度,并且高度是自动的以保持纵横比。我看不出有什么问题。
    • 进一步检查,嵌入仅在 Safari 中偏移。 Chrome 看起来很棒。
    • 你能发一张截图在 Safari 中的样子吗?
    • 而且,它看起来只发生在 Safari v.13 中。 Safari v.14 很好。
    猜你喜欢
    • 2012-10-14
    • 2017-02-12
    • 2014-10-10
    • 1970-01-01
    • 1970-01-01
    • 2012-09-28
    • 1970-01-01
    • 1970-01-01
    • 2020-03-07
    相关资源
    最近更新 更多