草庐IT

刚刚学完CSS :display float,flex flow 傻傻分不清了

Lan.W 2023-04-05 原文

目录

描述

示例:

CSS 中的 display

CSS 中的 float

CSS 中的 flex


描述

刚刚学完CSS ,导致浮动(float),弹性布局(display:flex)好几个字段配置属性已经分不清了。

display float 就同层级别,都是布局的配置项目。

flex是display一个可选值。  

flow :不存在这个值或者配置项。但是由它组成单词倒是有仨:

text-overflow: inherit; //文本溢出如何显示
display: flow-root; //开启BFC, 解决塌陷问题
overflow: hidden; //内容溢出时的设置

示例:

display: flex;     //实现弹性盒子

float: right;        //靠右浮动

在CSS布局中,flex、grid以及float属性的差别是flex属性适用于小的UI元素,grid属性适合用于为网站整体进行布局而float属性适合在较大的文本文章中设置图像。

CSS 中的 display

display 是CSS一个布局的配置项,他可使用值如下:

/* precomposed values */
display: block;
display: inline;
display: inline-block;
display: flex;
display: inline-flex;
display: grid;
display: inline-grid;
display: flow-root;

/* box generation */
display: none;
display: contents;

/* multi-keyword syntax */
display: block flow;
display: inline flow;
display: inline flow-root;
display: block flex;
display: inline flex;
display: block grid;
display: inline grid;
display: block flow-root;

/* other values */
display: table;
display: table-row; /* all table elements have an equivalent CSS display value */
display: list-item;

/* Global values */
display: inherit;
display: initial;
display: revert;
display: revert-layer;
display: unset;

和 float 都可以使元素在同一行,但是也各有缺点。

display:元素方向不可能控制

float:浮动起来的话会脱离标准文档流,所以要解决父级边框塌陷的问题

CSS 中的 float

float 是CSS一个针对子元素布局的配置项,它可使用的值:
right,left,top,bottom

不需要配合display使用。不需要对父元素设置

/*
 float:浮动是一种传统网页的布局方式
  通过浮动脱离文档而横向排列
  None:默认不浮动
    */

 float示例:

 .box2 {
            width: 400px;
            height: 300px;
            border: 10px solid #eee8d5;

        }

        .box3 {
            width: 290px;
            height: 100px;
            background-color: #e0c46c;
            float: right;
            /*margin:0 auto;*/
        }

//...
<body>

<div class="box2">
    <div class="box3">
    </div> </div>
</div>

</body>

CSS 中的 flex

flex呢,是display配置项一个可选值,实现弹性盒子:

display: flex;

/*弹性容器
display: flex; 块级
display:inline-block;行内弹性容器
容器里的所有子元素都自动变成 弹性项
主轴: 元素排列方向
     flex-direction:
            row:自右向右
            column:自上向下
            row-reverse:自右向左
            column-reverse:自下向上
侧轴: 与主轴垂直方向

flex-wap:设置是否自动换行
        none 不换行
        wrap 按侧轴换行

*/
display: flex;

 flex 示例:


 <style>
        ul {
            list-style: none
        }

        ul {
            width: 900px;
            background-color: #eeeeee;
            border: 10px solid red;
            /*弹性盒子*/
            display: flex;
            /*    修改容器子元素方向*/
            flex-flow: row;
        }

        li {
            width: 200px;
            line-height: 50px;
            font-size: 30px;
            color: white;

            /*弹性盒子控制子元素填充,根据当前主轴长度,均匀放大或者缩小*/
            flex-basis: auto;
            /*当总长度超出主轴时,根据主轴长度进行等比缩小
                0: 不缩小
                1:等比缩小
             */
            flex-shrink: 0;
        }
 </style>
//...
<ul>
    <li>1</li>
    <li>2</li>
</ul>

有关刚刚学完CSS :display float,flex flow 傻傻分不清了的更多相关文章

  1. ruby - capybara field.has_css?匹配器 - 2

    我在MiniTest::Spec和Capybara中使用以下规范:find_field('Email').must_have_css('[autofocus]')检查名为“电子邮件”的字段是否具有autofocus属性。doc说如下:has_css?(path,options={})ChecksifagivenCSSselectorisonthepageorcurrentnode.据我了解,字段“Email”是一个节点,因此调用must_have_css绝对有效!我做错了什么? 最佳答案 通过JonasNicklas得到了答案:No

  2. css - 用 watir 检查标签类? - 2

    我有一个div,它根据表单是否正确提交而改变。我想知道是否可以检查类的特定元素?开始元素看起来像这样。如果输入不正确,添加错误类。 最佳答案 试试这个:browser.div(:id=>"myerrortest").class_name更多信息:http://watir.github.com/watir-webdriver/doc/Watir/HTMLElement.html#class_name-instance_method另一种选择是只查看具有您期望的类的div是否存在browser.div((:id=>"myerrortes

  3. ruby - 刚刚分配的变量是否有 ruby 钩子(Hook)? - 2

    这是我理想中想要的。用户做:a="hello"输出为Youjustallocated"a"!=>"Hello"顺序无关紧要,只要我能实现该消息即可。 最佳答案 不,没有直接的方法可以做到这一点,因为在执行代码之前,Ruby字节码编译器会丢弃局部变量名。YARV(MRI1.9.2中使用的RubyVM)提供的关于局部变量的唯一指令是getlocal和setlocal,它们都对整数索引进行操作,而不是变量名。以下是1.9.2源代码中insns.def的摘录:/****************************************

  4. ruby-on-rails - Assets 管道损坏 : Not compiling on the fly css and js files - 2

    我开始了一个新的Rails3.2.5项目,Assets管道不再工作了。CSS和Javascript文件不再编译。这是尝试生成Assets时日志的输出:StartedGET"/assets/application.css?body=1"for127.0.0.1at2012-06-1623:59:11-0700Servedasset/application.css-200OK(0ms)[2012-06-1623:59:11]ERRORNoMethodError:undefinedmethod`each'fornil:NilClass/Users/greg/.rbenv/versions/1

  5. ruby-on-rails - Rails - 理解 application.js 和 application.css - 2

    rails新手。只是想了解\assests目录中的这两个文件。例如,application.js文件有如下行://=requirejquery//=requirejquery_ujs//=require_tree.我理解require_tree。只是将所有JS文件添加到当前目录中。根据上下文,我可以看出requirejquery添加了jQuery库。但是它从哪里得到这些jQuery库呢?我没有在我的Assets文件夹中看到任何jquery.js文件——或者直接在我的整个应用程序中没有看到任何jquery.js文件?同样,我正在按照一些说明安装TwitterBootstrap(http:

  6. css - Rails 4.1 和 Bootstrap 3 字形图标不工作 - 2

    我正在尝试消除使用Bootstrap3的Rails4元素中的glyphicon错误。我没有使用任何Bootstrapgem将其添加到Assets管道中。我手动将bootstrap.css和bootstrap.js添加到各自的app/assets目录下,分别添加到application.css和application.js什么的我现在在网络浏览器的控制台中看到以下内容:GEThttp://localhost:3000/fonts/glyphicons-halflings-regular.woff404(NotFound)localhost/:1GEThttp://localhost:30

  7. css - rails 萨斯 : variables are not passed with @import - 2

    我有一个使用twitterbootstrap和sass的Rails元素。scss文件结构化到文件夹中,所以我有更好的概述。现在我想为包含我的颜色等的全局变量定义一个文件,并将这些值传递给其他文件,这样我就有更少的冗余代码。虽然所有代码都已正确导入和应用,变量不起作用。这是当前的设置:样式表/application.css.scss/**=require_self*=require_tree*//*stylesheets/||–base/||–_reset.scss#Reset/normalize||–_typography.scss#Typographyrules||–componen

  8. css - Jekyll 和自定义 CSS - 2

    有没有一种方法可以在jekyll站点中包含自定义css标签,同时将markdown用于入口文件?例如,当我想突出显示某个段落时? 最佳答案 Markdown和YAMLFrontMatter都内置了这个。但你可以自己制作。比如说,您有foo.css想要包含在某些帖子中。在_posts/2013-02-03-higligting-foo.markdown中:---css:footitle:"DrupalImagecachesecurityvulnarabilitywithDDOSattackexplained"tags:[drupal,

  9. css - 检测到 Sass 更改但 style.css 仅在我保存时每 5 到 7 次被覆盖 - 2

    我在一台Windows764位机器上使用Sass和Ruby(最新版本),我正在我的家庭服务器上处理一个共享文件夹。(但是,我不得不承认问题本身也出现在服务器上,因为我试图安装Ruby并直接-watch服务器上的文件)。问题如下:如果我第一次保存,检测到变化,我的style.css被直接覆盖。之后,我总是需要保存多达7次才能覆盖style.css。每次都会检测到更改,但不会编译任何内容。这是一个屏幕:>>>Sassiswatchingforchanges.PressCtrl-Ctostop.overwritestyle.css>>>Changedetectedto:E:/Websites

  10. ruby - 用于 CSS3 跨浏览器兼容性的 SASS 插件? - 2

    是否有一个SASS扩展可以采用SASS样式表,找到中性属性(例如border-radius)并为其输出所有特定于供应商的属性(例如-webkit-border-radius等)自动?我真的不想手动创建所有混入,也不想手动编写代码。我确定一定有这样的扩展名,但我找不到它。帮忙? 最佳答案 有一个非常好的gem可以满足您的需求。它叫做Bourbon它不会用特定于供应商的css替换您的css,因为它可以像SASS一样工作。它基本上是一个正确生成跨浏览器css的mixin集合。 关于ruby-用

随机推荐