【问题标题】:Position 2 items side by side fluid/responsive (unknown width)将 2 个项目并排放置流体/响应(未知宽度)
【发布时间】:2019-12-17 15:58:14
【问题描述】:

我在工作中从事一个 React 项目(我们公司为我们提供了全栈职位)。

我有一个包装器div,里面还有另外两个divs

下面是 div 的作用:

  1. Left Div -(文本span,还包含省略号和隐藏溢出,变量div 宽度)因此父div 的宽度必须适合文本内容。
  2. Right Div - (排序图标),排序图标必须贴在左侧div 的右侧并填充parent div 的其余空间,尽管该图标必须贴在标题文本旁边一直 [缩放友好]。

这是我想要的图片:

这就是我所拥有的:

这是我的 HTML:

return (
    <>
        <div className={classes.headerWithSort}>
            <span>{col.label}</span>
            {canSort ? (
                <div>{sortIcon}</div>
            ) : null}
        </div>
    </>
);

这是我的 JSX/CSS:

headerWithSort: {
    position: 'relative',
    border: '1px dashed black',
    height: 'inherit',
    width: 'inherit',
    '& > span': {
        overflow: 'hidden',
        textOverflow: 'ellipsis',
        whiteSpace: 'nowrap',
        lineHeight: '3.29rem',
        border: '1px dashed green',
        float: 'left'
    },
    '& > div': {
        border: '1px dashed red',   
        overflow: 'hidden'
    },
    '& > *': {
        height: 'inherit'
    }
},

[编辑] - 我想要的另一个例子:

我在这个问题上卡了很长时间,希望能得到任何帮助,谢谢。

【问题讨论】:

    标签: html css reactjs jsx


    【解决方案1】:

    我建议将 Bootstrap CDN 添加到您的项目中:

    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" 
    href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
    
    <!-- jQuery library -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"> 
    </script>
    
    <!-- Popper JS -->
    <script 
    src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"> 
    </script>
    
    <!-- Latest compiled JavaScript -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"> 
    </script>
    

    然后您可以创建 2 列(左一小,右一大)并将您的内容插入其中:

    <div class="container">
     <div class="row">
       <div class="col-sm-5">
         <h3>Elipses text</h3>
         <p>Lorem ipsum dolor..</p>
       </div>
       <div class="col-sm-7">
         <h3>icon</h3>
         <img/>
       </div>
     </div>
    </div>
    

    Bootstrap 列总是分为 12 列,因此如果将列数相加,则应该得到 12,如果您希望列的大小相同且页面的一半,则两者都使用“col-sm-6”。这对于您的缩放场景非常有用,再加上您不会出错的媒体查询。

    了解 Bootstrap 确实是学习响应式和快速网页设计的最佳方式之一。

    【讨论】:

    • 嘿 Adriaan,很遗憾,我没有权限添加项目依赖项,我们使用 Material-UI 和我们自己的 CSS,所以如果你有这样做的原生 CSS 方式,那么请告诉。跨度>
    • 嗨,Alex,您仍然可以下载 Bootstrap CSS 文件并在 Visual Studio 代码中打开它们,看看他们是如何处理列类的,然后根据他们的实现您自己的版本。希望这会有所帮助。
    猜你喜欢
    • 1970-01-01
    • 2017-10-19
    • 2012-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多