【问题标题】:Justify-items: flex-end; Isn't working for me [duplicate]对齐项目:flex-end;不适合我[重复]
【发布时间】:2020-05-11 21:03:09
【问题描述】:

所以我尝试查找其他人在使用 flex-end 和 justify-content 时遇到的类似问题,但似乎没有一个解决方案适合我。我对开发网站有点陌生,我猜我还在学习基础知识。

我想避免只添加 margin-left 和添加一堆媒体查询,因为我猜它感觉不对?

编辑:对不起,我应该更具体地说明我想要的。我基本上想要 MC# 和标题末尾的“与我们交谈”。这就是它目前的样子website

块引用

JSX

 <header className={headerStyles.header}>
             <nav>
                <ul className={headerStyles.navList}>
                    <li>
                <Link className={headerStyles.title} to="/">
                    {data.site.siteMetadata.title}
                </Link>
            </li>
                    <li>
                <Link className={headerStyles.navItem} activeClassName={headerStyles.activeNavItem}  to="/">Home</Link> 
                    </li><br />
                    <li>
                <Link className={headerStyles.navItem} activeClassName={headerStyles.activeNavItem}  to="/blog">Blog</Link>
                    </li><br />
                     <li> 
                <Link className={headerStyles.navItem} activeClassName={headerStyles.activeNavItem}  to="/about">About</Link>
                    </li><br />
                     <li>
                <Link className={headerStyles.navItem} activeClassName={headerStyles.activeNavItem}  to="/contact">Contact</Link>
                    </li>

                    <li className={headerStyles.mcNum}>
                    <p>MC# 1322334</p>
                    <p className={headerStyles.vline}>Talk To Us!<br /> <a href="tel:800-888-8888">800-888-8888</a></p>
                    </li>
                </ul>
            </nav>

CSS

.header {
    position: fixed;
    padding: .5rem 5rem 0rem;
    background: white;
    box-shadow: 0px 4px 8px -4px rgba(0,0,0,0.3); 
    z-index: 500;
    width: 100%;
    display: flex;
    align-items: stretch;
    height: auto;
}

.title {  
    color: black;
    font-size: 1.5rem;
    text-decoration: none;
    margin-right: 5rem;
    float: left;
    display: table-cell;
    vertical-align: middle;
    white-space: nowrap;
    font-family: 'Lato', sans-serif;
}

.nav-list {
    display: flex;
    align-items: center;
    list-style-type: none;
    margin: 0;
    font-weight: 700;
    font-family: 'Lato', sans-serif;
}

.nav-item{
    color: black;
    font-size: 1.1rem;
    font-weight: 400;
    font-family: 'Lato', sans-serif;
    margin-right: 2.2rem;
    text-decoration: none;
}

.mcNum {
    display: flex;
    align-items: center;
    justify-items: flex-end;
    white-space: nowrap;
}

【问题讨论】:

    标签: css reactjs sass gatsby


    【解决方案1】:

    justify items 不适用于 flexbox。您可能在这里混合了苹果和橙子,并且想要justify-contentalign items,这取决于您的目标。请参阅https://css-tricks.com/snippets/css/a-guide-to-flexbox/,以获得我经常返回的使用 flexbox 的全面概述。

    根据编辑后的信息并查看评论中的页面,我推荐以下内容: 更改 HTML 输出的结构,在导航中提供两个 &lt;ul&gt;,一个用于 JSX 生成的链接,另一个用于您想要推到右侧的部分。 然后,更改 CSS:

    nav {
        display: flex;
        justify-content: space-between;
        width: 100%;
    }
    

    并为&lt;ul&gt; 赋予相同的样式:

    .header-module--mcNum--2BWPQ {
        height: auto;
        display: flex;
        flex-direction: row;
        align-items: flex-end;
        justify-content: flex-end;
        white-space: nowrap;
    

    【讨论】:

    • 对不起,我应该更具体地说明我想要的。我基本上想要 MC# 和标题末尾的“与我们交谈”。这就是它目前的样子wizardly-hawking-3a27a0.netlify.com
    • 我的英雄。这让我朝着正确的方向前进,它现在正在发挥作用。谢谢!
    【解决方案2】:

    您是说 justify-content 吗? justify-items 在 flexbox 布局中被忽略,正如这里所说:https://developer.mozilla.org/en-US/docs/Web/CSS/justify-items

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-06
      • 2019-05-29
      • 2017-11-08
      • 2016-10-16
      • 1970-01-01
      • 1970-01-01
      • 2011-02-02
      • 1970-01-01
      相关资源
      最近更新 更多