javascript - 如何在响应式 div 中缩进由溢出包装引起的每一秒可视行

标签 javascript css reactjs responsive-design responsive

目前正在研究响应式六边形网格,以与样式化的组件使用react。目前它是一个单独的表格行(或 flexbox - 功能是相同的)在窗口改变时重新定位所有 div - 太棒了!但是每一行都需要有一个 margin-left: 56px;。这需要动态/ react 地发生,因为呈现的六边形数量会不断变化。

我曾尝试查看溢出的 div 到其他 div 的情况 - 这将是一个很好的解决方案,但我找不到实现它的办法。我还尝试研究跟踪六边形的位置,以及它们何时向下移动以增加边距以及何时移动以移除边距 - 但我不知道该怎么做。

import React, { Component } from 'react';
import styled from 'styled-components';
import './App.css';

class App extends Component {
  render() {
    return (
      <div>
      <HexRow>
        <Hex />
        <Hex />
        <Hex />
        <Hex />
        <Hex />
        <Hex />
        <Hex />
        <Hex />
        <Hex />
        <Hex />
        <Hex />
        <Hex />
        <Hex />
        <Hex />
        <Hex />
      </HexRow>
      </div>
    );
  }
}

const HexRow = styled.div`
    clear: left;
    margin-bottom: 60px;
    margin-left: 55px;
`

const Hex = styled.div`
  &:before {
    content: " ";
    width: 0; height: 0;
    border-bottom: 30px solid #6C6;
    border-left: 52px solid transparent;
    border-right: 52px solid transparent;
    position: absolute;
    top: -30px;
  }

    width: 104px;
    height: 60px;
    background-color: #6C6;
    position: relative;
    float: left;
    margin-top: 30px;
    margin-bottom: 9px;
    margin-right: 10px;

  &:after {
    content: "";
    width: 0;
    position: absolute;
    bottom: -30px;
    border-top: 30px solid #6C6;
    border-left: 52px solid transparent;
    border-right: 52px solid transparent;
  }
`;

export default App;

What happens now

What needs to happen

感谢任何帮助或指点!

最佳答案

您可以使用 :nth-child(even) CSS 选择器来完成此操作,如下面相当简单的说明...

请注意,您寻找的属性称为 margin-left(而不是 left-margin)。

div p:nth-child(even) {
  margin-left: 56px;
}
<div>
  <p>Hex</p>
  <p>Hex</p>
  <p>Hex</p>
  <p>Hex</p>
  <p>Hex</p>
  <p>Hex</p>
</div>

关于javascript - 如何在响应式 div 中缩进由溢出包装引起的每一秒可视行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44504597/

相关文章:

javascript - 使用 javascript/jQuery 切换字符位置

javascript - 将具有属性的数组映射到具有不同属性的数组

javascript - 如何在 React JS 中将 "dispatch"作为导出函数?

javascript - 弹出窗口不在屏幕中心 - CSS 问题

javascript - Chart.js - 设置工具提示 z-index

javascript - 为什么 javascript 和 css 文件的名称如此复杂?

reactjs - 如何处理react中的404

javascript - 获取动态 svg 内容

javascript - href 目标选项卡应首先打开一个选项卡并在第二次更新

javascript - Ajax 调用 OGRE 转换器