为什么聚合物的 flex 属性/类不起作用?

2024-02-27

浏览器:Firefox v35 操作系统:Linux Ubuntu 14,Polymer:v1.4

正在关注 Rob Dodson 的 Polycasts - 大多数视频都提到使用“flex”(flexbox)来实现响应式设计。然而,我很难让它发挥作用。

在下面列出的示例文件中,

  • paper-header-panel 上的 flex 属性是多余的(即使没有它,元素​​也会拉伸 - 请注意蓝色边框
  • 工具栏中 span 标签上的 flex 属性确实有效 - 请参阅“更多”图标一直滑到右侧。这很好/预期的
  • 最后,我希望内容类的 div 为“flex” - 但它不会。理想情况下不应有白色区域。

文档&guide https://elements.polymer-project.org/guides/responsive-material-design-layouts没有一点帮助。即使指南上的片段也不适合我。

代码如下:

<!DOCTYPE html>
<html>

<head>
<script src="bower_components/webcomponentsjs/webcomponents-lite.js"></script>

<link rel='import' href='elements.html' />
<link rel="stylesheet" href="app.css" />
<style>
    .icon-snooze {
        color: red;
        width: 48px;
        height: 48px;
    }
</style>


<style is="custom-style" include='iron-flex iron-positioning'>
    body {
        border: 1px dashed red;
    }
    
    paper-header-panel {
        border: 2px dashed dodgerblue;
    }
    
    .content {
        border: 2px dashed tomato;
        background-color: var(--paper-light-blue-500);
    }
</style>

</head>

<body class='fullbleed vertical layout'>

<paper-header-panel class='flex'>
    <paper-toolbar>
        <paper-icon-button id="navicon" icon="icons:menu"></paper-icon-button>
        <div>Header</div>
        <span class='flex'></span>
        <paper-icon-button id='morebutton' icon='icons:more-vert'></paper-icon-button>

    </paper-toolbar>
    <div class='content flex'>Content </div>

</paper-header-panel>
</body>
</html>

更多观察:
水平弯曲按预期工作/开箱即用。

对于垂直弯曲,如果我设置它就可以工作父级/容器的明确高度- 这有点违背了目的。

<body class='fullbleed vertical layout'>
<div class='layout vertical container' style='height:50vh;' >
    <div>one</div>
    <div class="flex">two (won't flex without height set)</div>
    <div>three</div>
</div>
<div class='layout horizontal container'>
    <div>one</div>
    <div class="flex">two (will flex)</div>
    <div>three</div>
</div>
</div>

iron-flex-layout一开始甚至以后可能会很难使用。

让我们分解一下如何实现所需的输出。
首先我们需要那个fullbleed身体上的阶级。这使得我们使用全尺寸的屏幕。然后我们添加<paper-header-panel>负责标题和内容的显示、定位和大小调整的元素。我们不需要添加任何类paper-header-panel.
接下来我们添加两个div元素。其他是实际的标头paper-headerclass 和 other 是内容托管者fit班级。这fit类负责确保我们的内容填满整个屏幕。

第一个 div 的内部paper-header我们按照您提供的方式在工具栏和其他内容中添加了类。这有效并且是正确的。

如果您想为您的内容使用不同的布局类型(horizontal or vertical例如)您可以使用以下命令将所需的类添加到 div 中fit class.

请参阅下面的代码。

<!doctype html>

<head>
  <meta charset="utf-8">
  <!---- >
  <base href="https://polygit.org/components/">
  Toggle below/above as backup when server is down
  <!---->
  <base href="https://polygit2.appspot.com/components/">
  <script src="webcomponentsjs/webcomponents-lite.min.js"></script>
  <link rel="import" href="polymer/polymer.html">
  <link rel="import" href="paper-header-panel/paper-header-panel.html">
  <link rel="import" href="paper-toolbar/paper-toolbar.html">
  <link rel="import" href="paper-icon-button/paper-icon-button.html">
  <link rel="import" href="iron-icons/iron-icons.html">
  <link rel="import" href="iron-icon/iron-icon.html">
  <link rel="import" href="iron-flex-layout/iron-flex-layout-classes.html">

  <style is="custom-style" include='iron-flex iron-positioning'>
    body {
      border: 1px dashed red;
    }
    paper-header-panel {
      border: 2px dashed dodgerblue;
    }
    .fit {
      @apply(--iron-positoning-fit);
      height: 100%;
      border: 2px dashed tomato;
      background-color: #00B7FF;
    }
  </style>

</head>

<body class='fullbleed'>
  <paper-header-panel>
    <div class="paper-header">
      <paper-toolbar>
        <paper-icon-button id="navicon" icon="icons:menu"></paper-icon-button>
        <div>Header</div>
        <span class="flex"></span>
        <paper-icon-button id='morebutton' icon='icons:more-vert'></paper-icon-button>
      </paper-toolbar>
    </div>
    <div class="fit">
      <div>Content</div>
    </div>
  </paper-header-panel>
</body>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么聚合物的 flex 属性/类不起作用? 的相关文章

  • Firefox 和 Safari 中的 MouseEvent.path 等效项

    我正在使用 Polymer 1 0 当点击 Chrome 中的按钮时MouseEvent被生成 这MouseEvent对象有一个path属性是单击按钮的父元素的有序数组 然而 在 Firefox 和 Safari 中 click生成的没有p
  • React Native FlatList 具有不同列数的替代行

    i want to have a FlatList which renders a single item on odd rows and 2 items on even rows 是否可以实现这种布局 抱歉 我还没有代码 FlatList
  • 最大宽度不适用于弹性项目

    我有一列中有一个弹性容器和两个弹性子容器 顶部 div 应填充所有剩余空间 底部 div 的高度应由内容和max width 但底部 div 的宽度正在缩小到其内容的宽度 这max width正在被忽视 hero image min hei
  • Flexbox:元素阴影不适用于 order 属性

    我正在尝试使用 CSS3 的 Flexbox 功能创建一个简单的布局 但遇到了一个问题 我无法放置我的阴影nav元素在main元素即使nav元素位于main 我尝试使用order属性 但我不明白为什么nav的影子在下面main html h
  • 使用 flex 将项目与底部对齐

    我正在尝试使用 flex 将父级内部的项目与父级底部对齐 但由于某种原因它不起作用 我究竟做错了什么 login border 1px solid red height 50px display flex login border radi
  • Flexbox 项目的完美圆形边框半径[重复]

    这个问题在这里已经有答案了 我有类似这样的项目 它们是弹性盒容器内的弹性项目 我的正常尺寸物品 我的物品被挤压 我的 CSS 看起来像这样 body display flex flex direction column align item
  • Flex、AngularJS + Masonry、akoenig/angular-deckgrid 等 [重复]

    这个问题在这里已经有答案了 我一直在发送此电子邮件 我即将发布一个用于 Web 应用程序安全的应用程序 它需要使用像 Masonry 这样的网格 我已经尝试过所有的 每一个角度模块 指令和不同的方法 包括基于 CSS 的技术 纯 Vanil
  • 如何使 Flexbox 父级具有其子级的宽度?

    我有一个父元素 里面有两个元素 div class parent div class child one div div class child two div div 目前 parent 的宽度为 100 我希望它只是两个孩子的宽度 pa
  • 四列布局,无需媒体查询即可转换为单列

    我正在尝试创建一个四列布局 其中每列随着窗口的大小而增大和缩小 但每列都有最小宽度 当窗口太小而无法将所有四列放入单行时 它会转换到单个列 每个部分占据整个宽度 我无法使用 flex box 或 CSS 网格来做到这一点 我想在没有媒体查询
  • 嵌套 Flexbox 100% 高度在 Safari 中不起作用 [重复]

    这个问题在这里已经有答案了 我是 Flexbox 的新手 我尝试使用它来创建一个具有固定页眉 固定页脚和填充页眉和页脚之间可用空间的内容区域的布局 内容区域是一个可滚动区域 有 3 个面板 div 每个面板都有 100 的高度 出于演示目的
  • CSS3 Flexbox:显示:box vs. flexbox vs. flex

    昨天我在学校找到了一个使用 CSS 3 Flexbox 声明的网站 我以前从未用过那个 所以我用谷歌搜索了一下 发现了很多不同风格的 Flexbox 语句 有些人写display box 一些使用display flexbox 和别的dis
  • 如何在奇数行和偶数行之间交替孩子的数量?

    我搜索了它 但是使用 CSS flexbox 当我想显示奇数行的 3 个项目和偶数行的 2 个项目时出现问题 My idea is something like this 我尝试使用某种nth child选择器 但这并不是完整的解决方案 n
  • 具有聚合物元素的助焊剂架构

    通量架构是网络应用中的趋势 聚合物元素也是如此 有没有任何示例如何制作使用助焊剂架构的聚合物应用 我一直在考虑将 Flux 模式与 聚合物 Web 组件一起使用 到目前为止 我已经提出了三种可能的解决方案 都与您的方式不同 所以它们是 免责
  • 来自外部的 Shadow DOM CSS 样式在 Google Chrome 中不起作用

    我在用polymer s paper action dialog and paper button在我的网页中 纸张操作对话框中有两个纸张按钮 我想从外部 主 html 设计这些纸质按钮的样式 我已经写了CSS样式在shadow DOM符号
  • flex-basis 示例:内容

    我注意到在弹性盒规格 https www w3 org TR 2016 CR css flexbox 1 20160301 that flex basis可以设置为content 我正在尝试在 html 中使用它 但它在 Chrome 中不
  • 当flex-wrap是wrap的时候,flex-shrink还有用吗?

    我不认为flex shrink and flex wrap wrap 在一起有意义 但我想知道我是否遗漏了一些东西 container background DDD width 300px height 100px padding 20px
  • Flexbox 未将内容垂直居中

    所以我尝试使用 Flexbox 将我的名字放在屏幕中间 在浏览了许多教程之后 他们说我需要完成此操作的唯一代码是 div display flex flex direction column justify content center a
  • IE 11 中的 CSS Display Flex 无法正常工作,图像会溢出

    我正在使用 CSSdisplay flex 以某种方式显示它们 在 Chrome 中 它看起来很完美 很漂亮 但在 IE 中 图像超出了我放置它们的元素 https jsfiddle net m42k7Lk5 8 https jsfiddl
  • 当共享相同的行和列时,将网格项设置为不重叠

    现在 当两个网格项共享相同的行和列时 它们会相互重叠 div class some grid container div Item 1 div div Item 2 div div 我如何让它们不重叠 当共享相同的行和列时 其行为可能类似于
  • 无效字符错误:“fred”

    我确信他一定是一个新手问题 简单来说 我想定义我的第一个 Polymer dart 组件 只是我一直在同一个减速带上踢脚趾 为了使事情变得非常简单 我将其简化为一个非常简单的示例 我做了一个简单的rename示例 跑表 来自 Dart 组件

随机推荐

  • 如何在 WordPress 中将 HTML 表单中的数据保存到数据库表中?

    我有一个 WordPress 主题 我正在尝试将 HTML 表单中的数据保存到数据库中 我制作了 HTML 表单并添加了一个 保存并关闭 按钮 该按钮调用名为的 JavaScript 函数saveData 从表单中获取数据并将其发送到add
  • 如何删除 Apple APNS 反馈收到的设备令牌

    我成功通过 PHP 获取 Apple APNS 反馈数据 我得到的结构 经过一些处理 看起来像这样 时间戳 设备令牌 我的问题是如何知道应该从数据库中删除哪些设备令牌并停止向它们发送通知 Regardz Mladjo 时间戳是这里的关键元素
  • 如何从React中的函数参数设置状态[重复]

    这个问题在这里已经有答案了 我将名称和值从子组件传递给handleChange 函数 现在我想将状态设置为与提供的名称匹配的值 但我不知道如何设置 我尝试了这种方式 但它给出了错误 this setState 不是函数 class Pare
  • MySQL 作业启动失败

    我在 Kubuntu 12 04 上 通过 apt get 安装 mysql mysql 版本 5 5 35 后 我尝试启动 mysql 服务 但出现此错误 sudo 服务 mysql 启动 开始 作业启动失败 所以我用谷歌搜索了这个问题
  • 循环分组依据、聚合并根据组创建新列

    我正在尝试获取学生专栏 根据他们的进度水平来统计活动 Data looks like STUDENT ID STUDENT ACTIVITY SESSION ID NODE NAME ACTIVITY NAME prog level Fre
  • 从 JSF 操作返回 null 和 "" 之间的区别

    据我了解 当 JSF 操作返回时 空字符串 用户停留在当前页面 但视图已刷新 然而 当动作返回时null用户仍然停留在当前页面 但旧视图被重用 我的问题是 上述说法正确 准确 吗 如果是 那么这意味着什么 具体来说 使用其中一种与另一种对页
  • Python图像库椭圆具有宽轮廓

    用PIL创建椭圆时 是否可以有更粗 更宽的轮廓 目前 我正在尝试做canvas ellipse box outline colour fill None 但希望能够给予outline参数a宽度 你可以使用aggdraw http effbo
  • 将行数组转换为列数组

    将任何 等长 行数组转换为列数组的最优雅的方法是什么 Eg 1 2 3 4 5 6 To 1 4 2 5 3 6 这是我到目前为止所拥有的 grid 1 2 3 4 5 6 grid2 for i in grid 0 grid2 push
  • Angularjs 多个 Dropzone 用于在单页上上传图像

    我使用 dropzone js 进行多图片上传 当单个页面上只有一个 dropzone 时 它 工作正常 但是 如果我尝试在单个页面上使用多个拖放区 则只有一个拖放区正在工作 即第二个拖放区 而第一个拖放区保持空闲 我试图寻找答案 但它们只
  • 传单仅呈现在一个角落

    我有一张只渲染到一个角落的传单地图 当我调整浏览器窗口大小时 整个地图都会呈现 这就是我调用地图的方式 var map L map map crs L CRS EPSG3857 setView 105 2 100 6 var tiles L
  • 印刷图片盒

    当我尝试打印PictureBox an ArgumentException被抛出 参数无效 这是打印功能 void pdGroupBox PrintPage object sender PrintPageEventArgs e foreac
  • 如何使用 sbt 跳过 javadoc 依赖项下载

    1 Javadoc 工件往往需要太多的空间和时间来下载 例如 scala library 2 10 2 sources jar是 1 Mb 但是scala library 2 10 2 javadoc jar是 34 Mb 2 大多数情况下
  • Mercurial - 同时比较多个变更集?

    为了比较我们使用 hg diff c
  • 定时器速度问题WPF

    我正在使用计时器来滚动列表 每毫秒间隔我都会启动 Tick 事件 事件虽然动画看起来很慢 repeatTimer Tick this new EventArgs repeatLeftTimer Interval TimeSpan FromM
  • 这些对象字面量有什么区别?

    我创建了两个对象 第一个正在按预期工作 let working constructor function console log working let notworking constructor console log notworki
  • 将代码拆分为多个文件时出现 LNK2019 && LNK1120 错误

    我的代码存储在main cpp文件包含void main 函数和类MyClass我现在想将其拆分为另一个文件 IDE 是 Microsoft Visual Studio 2008 Professional myclass h include
  • 如何在 OS X 静态库中包含 nib?

    我看过几篇关于 iOS 的文章讨论这个主题 但是一两次提到 OS X 只是说构建一个框架而不是静态库 我找不到有合适框架说明的帖子 我已将项目创建为静态库 并相应地对整个项目进行了编码 现在 我只想将我的框架放入演示应用程序中 但它抱怨缺少
  • java.lang.IllegalStateException:片段已添加

    我在使用目标 SDK 4 3 编译和运行的 Android 应用程序时遇到问题 该应用程序有两个 Activity 一个 MainActivity 也是启动器 Activity 和一个 SecondActivity 两者都使用 Fragme
  • 结构体末尾的空数组是C标准吗?

    我注意到在开源项目中经常使用结构末尾的空数组 typedef struct A void arr A 我想知道这是C标准吗 或者只适合 gcc 编译器 从 C99 开始 它现已成为 C 标准 C99 之前的编译器可能不支持它 旧的方法是声明
  • 为什么聚合物的 flex 属性/类不起作用?

    浏览器 Firefox v35 操作系统 Linux Ubuntu 14 Polymer v1 4 正在关注 Rob Dodson 的 Polycasts 大多数视频都提到使用 flex flexbox 来实现响应式设计 然而 我很难让它发