• CSS技巧 (1) · 结构和布局


     前言

      这一篇主要是总结关于结构和布局的一些技巧,不管什么,一个网页上来,最重要的是先确定他的结构和布局,实现基本的布局之后,我们再进行局部的优化和交互特效。

      这一篇主要讲 关于 自适应内部元素 的内容

    自适应内部元素

      问题缘由:我们都知道元素可以自动适应内容的高度,但是如何实现宽度也如此呢,换句话说,就是元素的宽度又内部元素决定,而不是外部因素决定

      问题实例:比如,我们制作一个卡片,包括图片和图片说明,如下

    <figure>
        <img src="https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcQlWQZGiPfKwXnHwbjNKkTAU79_jfAwml-mRvUocJoS91Miomps" alt="">
        <figcaption>这是图片注释,这是图片注释,这是图片注释</figcaption>
    </figure>

    如不设置样式,效果应该是如下(图1)的,但是如果我们想设置figure元素和图片一样宽(图2),并且是水平居中的该如何呢?

    图1      

                图1                         图2

       问题解决:其实解决方案很简单,只需要利用 min-content属性,便可以设置 外部元素自适应内部元素的宽度了,这种方法对于图片的使用特别有用,且常常是应用于图片大小未知的情况下

    figure {
        border:1px dashed;
        max-width: 300px;
        max-width: min-content;
    }
    /* 这里添加退化功能,如果 min-content 不可用的话,会默认设置最大宽度 300px;若可用的话,img的max-width 也就派不上用场了 */
    figure>img {
        max-width: inherit;
    }

    缺点:  IE(包括IE11)暂时不支持这个属性值~

    另外:我们也可以是使用inline-block来使得元素自适应内部元素宽度,但是效果就是和 设置max-content一致

    figure {
        border:1px dashed;
        display:inline-block;
    /*   max-max-content; */
    }

     小结: 有没有发现很方便,我们子啊也不需要说去设置 figure的宽度和max-width,然后再设置img的max-width:100%;对于小图片也做到了很好的自适应~

  • 相关阅读:
    JS继承
    Liunx 常用命令2
    团队作业(四)
    OpenEuler树莓派基础实验(无树莓派)
    thread同步测试
    团队作业(三)
    实验二测试
    浅谈JWT。
    monolog使用 brady
    Blazor Server获取Token访问外部Web Api
  • 原文地址:https://www.cnblogs.com/kasmine/p/6501311.html
Copyright © 2020-2023  润新知