垂直块列表中如何同时增加一个主点和多个子点的文本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了垂直块列表中如何同时增加一个主点和多个子点的文本相关的知识,希望对你有一定的参考价值。

是没有办法添加子点框的,只需要把主点框降级既可,方法是主框处于编辑状态下,右键单击选择降级,这时子点框就出现了 参考技术A 一、多行内容居中,且容器高度可变
也很简单,给出一致的 padding-bottom 和 padding-top 就行
.middle-demo-2
padding-top: 24px;
padding-bottom: 24px;
优点:
1. 同时支持块级和内联极元素
2. 支持非文本内容
3. 支持所有浏览器
缺点:
容器不能固定高度
二、把容器当作表格单元
CSS 提供一系列diplay属性值,包括 display: table, display: table-row, display: table-cell 等,能把元素当作表格单元来显示。这是再加上 vertical-align: middle, 就和表格中的 valign="center" 一样了。
.middle-demo-3
display: table-cell;
height: 300px;
vertical-align: middle;
可惜IE不支持这些属性,不过在其他浏览器上显示效果非常完美。
要注意的是:和一个合法的<td>元素必须在<table>里一样,display: table-cell 元素必须作为 display: table 的元素的子孙出现。
优点:
不用说了吧,就是表格,效果和表格一模一样
缺点:
IE下无效
三、以毒攻毒!用 IE 的 bug 解决 IE 中的绝对居中
先不得不说一句,IE 真的是个很烂的浏览器,CSS1中的定义都不支持,害得要我们转个大圈子来造居中。不过就像我说的,凡是 table 布局可以实现的,CSS 一定可以实现,即使在 IE 里也不例外。我研究 IE layout 模式多年,还是找出了一个可以在 IE 中绝对居中的方法。这个方法就是基于 IE layout 的 bug,也可以算以毒攻毒。至于原理,不要问我,这是独门秘学,何况三言两语也讲不清楚,只要好用就行
.middle-demo-4
height: 300px;
position: relative;

.middle-demo-4 div
position: absolute;
top: 50%;
left: 0;

.middle-demo-4 div div
position: relative;
top: -50%;
left: 0;
五、整合三和四,写出支持所有浏览器的垂直居中容器!
思路是利用 IE 和 非IE 浏览器的 CSS hack, 整合三和四的CSS,写出兼容主流浏览器的垂直居中容器

如何在 Flutter 中同时滚动多个文本字段

【中文标题】如何在 Flutter 中同时滚动多个文本字段【英文标题】:How to Scroll multiple Textfields together in Flutter 【发布时间】:2021-05-15 13:51:57 【问题描述】:

我有一种情况,其中 2 个文本字段被放置在一个堆栈小部件内,彼此重叠。如果数据超过屏幕大小,我是否可以垂直滚动两个文本字段?

Stack(
              children: [
                Container(
                  width: MediaQuery.of(context).size.width,
                  padding: EdgeInsets.fromLTRB(15, 8, 0, 0),
                  child: SyntaxView(
                      code: codeController.text,
                      syntax: Syntax.C,
                      syntaxTheme: SyntaxTheme.gravityDark(),
                      withZoom: true,
                      withLinesCount: true),
                ),
                Container(
                  width: 362,
                  padding: EdgeInsets.fromLTRB(55, 12, 0, 0),
                  child: TextFormField(
                    scrollPhysics: NeverScrollableScrollPhysics(),
                    focusNode: codeFocus,
                    controller: codeController,
                    autofocus: true,
                    keyboardType: TextInputType.multiline,
                    maxLines: null,
                    style: TextStyle(
                      color: Color(0x00ffffff),
                      // color: Colors.yellow,
                      height: 1.35,
                      fontFamily: "CodeFont",
                      fontSize: 12,
                    ),
                    decoration: InputDecoration(
                      border: InputBorder.none,
                    ),
                    onChanged: (value) 
                      setState(() 
                        CODE = value;
                        // print("X : $codeController.text");
                      );
                    ,
                  ),
                ),
              ],
            ),

【问题讨论】:

使用SingleChildScrollView 【参考方案1】:

处理这种情况的一种简单方法是将您的内容包装在 ListView 中,该 ListView 处理其子项的滚动。以下是来自ListView 文档的 sn-p 示例:

ListView(
  padding: const EdgeInsets.all(8),
  children: <Widget>[
    Container(
      height: 50,
      color: Colors.amber[600],
      child: const Center(child: Text('Entry A')),
    ),
    Container(
      height: 50,
      color: Colors.amber[500],
      child: const Center(child: Text('Entry B')),
    ),
    Container(
      height: 50,
      color: Colors.amber[100],
      child: const Center(child: Text('Entry C')),
    ),
  ],
)

https://api.flutter.dev/flutter/widgets/ListView-class.html

【讨论】:

以上是关于垂直块列表中如何同时增加一个主点和多个子点的文本的主要内容,如果未能解决你的问题,请参考以下文章

如何垂直对齐一行文本中的内联块?

如何在 Flutter 中同时滚动多个文本字段

CSS:有没有办法在每个列表元素之前垂直对齐数字/项目符号?

CSS:有没有办法在每个列表元素之前垂直对齐数字/项目符号?

CSS:有没有办法在每个列表元素之前垂直对齐数字/项目符号?

如何设置块级元素的单行文本垂直居中