Html 如何使用flexbox将菜单居中

Html 如何使用flexbox将菜单居中,html,menu,flexbox,center,Html,Menu,Flexbox,Center,我有一个二线菜单,我想使用flexbox居中。我是flexbox的新手,有几个问题: 当我在DreamWeaver CS6中验证HTML时,它无法识别元素top_行、left_按钮和right_按钮。然而,我遵循了flexbox的几个示例,这些示例表明这是一种正确的格式。这些元素定义有什么不对 如何使875px宽的“主菜单”行在我展开窗口使其越来越宽时保持居中?现在它保持左对齐 当窗口变宽或变窄时,如何使左_按钮(主页)与主菜单的左侧保持对齐?现在它保持左对齐 当窗口变宽或变窄时,如何使右_按钮

我有一个二线菜单,我想使用flexbox居中。我是flexbox的新手,有几个问题:

  • 当我在DreamWeaver CS6中验证HTML时,它无法识别元素top_行、left_按钮和right_按钮。然而,我遵循了flexbox的几个示例,这些示例表明这是一种正确的格式。这些元素定义有什么不对
  • 如何使875px宽的“主菜单”行在我展开窗口使其越来越宽时保持居中?现在它保持左对齐
  • 当窗口变宽或变窄时,如何使左_按钮(主页)与主菜单的左侧保持对齐?现在它保持左对齐
  • 当窗口变宽或变窄时,如何使右_按钮(返回)与主菜单的右侧保持对齐?现在,它与扩展或缩小窗口的右侧对齐
  • 如何使“text-decoration:none;”属性正常工作,从而使按钮上没有下划线
  • 这是我第一次尝试使用flexbox时的示例代码

    
    身体{
    背景:#EEE8AA;
    }
    #主要{
    边际:0px;
    填充:0px;
    显示器:flex;
    柔性流:行;
    字体系列:Arial、Helvetica、无衬线字体;
    字体大小:14px;
    线高:25px;
    文本对齐:居中;
    最大宽度:875px;
    对齐项目:居中;
    证明内容:之间的空间;
    }
    #主>顶行{
    背景:#BDB76B;
    显示器:flex;
    证明内容:中心;
    对齐项目:居中;
    宽度:875px;
    高度:25px;
    }
    #主>左按钮{
    保证金:5px;
    背景:#BDB76B;
    顺序:1;
    位置:绝对位置;
    左:0;
    宽度:150px;
    文字装饰:无;
    }
    #主>右按钮{
    保证金:5px;
    背景:#BDB76B;
    顺序:3;
    位置:绝对位置;
    右:0;
    宽度:150px;
    文字装饰:无;
    }
    示例标题
    主菜单
    
    基本HTML5
  • 您似乎正在使用DWCS6?如果是这样,请以HTML5开始新页面。标记中的第一个标记是HTML4的回溯。只需从以下内容开始创建每一页:

  • 最基本的
    标记应该是:

  • 这些标签是标签,因此验证失败:

  • 有多个标记具有
    id='main'
    。有一条永远不应该被打破的基本规则:

    不要在每个文档的多个元素/标记上使用ID

  • 使用类,它可以在任意多个标记上使用。由于ID的限制,它几乎是无用的。一旦您开始使用JavaScript,它将对您更有价值

  • 在下面的代码片段中,我重构了OP。评论的是细节和问题的答案。顺便说一句,SO(StackOverflow)不喜欢多个问题,所以当发布一个问题时,尽量将其最小化到一个特定的问题,并确保制作一个片段或插页来展示您的示例(我已经为您做了)。请记住,一个问题,并有一个将吸引更多的人愿意张贴一个答案

    一小条
    
    SO39418788
    /*[可选]
    |接下来的3个规则集是您需要重新设置的
    |几乎可以应用于任何网页。
    */
    html{
    宽度:100%;
    身高:100%;
    框大小:边框框;
    字体:400 16px/1.428 Arial,Helvetica,无衬线;
    }
    身体{
    宽度:100%;
    身高:100%;
    背景:#EEE8AA;
    }
    *,
    *:之前,
    *:之后{
    框大小:继承;
    保证金:0;
    填充:0;
    边框:0非透明;
    }
    /*[柔性容器]
    |问题2、3和4
    |使用包含所有标记的容器
    |会给你更多的控制权。有麻烦
    |有3个标签?50个标签?包装容器
    |在他们周围,你会有影响力
    |把他们当作一个整体。这会救你的
    |避免编写额外的重复代码
    |因为容器的后代
    |将继承样式。
    */
    .顶{
    显示器:flex;
    /*
    |flex flow并非在所有浏览器中都是100%。
    |使用弯曲方向更安全
    */
    弯曲方向:行;
    线高:25px;
    文本对齐:居中;
    /*问题2*/
    宽度:100%;
    最大宽度:875px;
    证明内容:之间的空间;
    位置:相对位置;
    /*问题2
    |只要元素是一个块,这个
    |样式将水平居中。
    */
    保证金:0自动;
    }
    .中心{
    背景:#BDB76B;
    flex:20自动;
    顺序:2;
    字体大小:1.4rem;
    }
    .左{
    保证金:5px;
    背景:#BDB76B;
    顺序:1;
    位置:绝对位置;
    左:0;
    宽度:150px;
    }
    .对{
    保证金:5px;
    背景:#BDB76B;
    顺序:3;
    位置:绝对位置;
    右:0;
    宽度:150px;
    }
    A.
    答:林克,
    a:参观了{
    颜色:rgba(122,2,14,8);
    /*问题5
    |将样式直接应用于
    主菜单
    
    这是一个非常广泛的问题,显然不仅仅是一个单独的问题,甚至不是“几个问题”.不过,我会回答你的#1,剩下的问题你可能想在你得到#1平方后使用codepen或JSFIDLE或其他更简洁的问题。无论如何,你的#1是预期的,因为你没有通过注册自定义html标记,所以无论你放在什么地方都不知道你在说什么,包括你的WYSIWYG ed伊托尔…干杯!:)谢谢zer00ne。我有一些小的调整要做,但这让我做到了。我真的很高兴