首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    css笔记 - 张鑫旭css课程笔记之 padding 篇

    对于block元素 1.没宽度设置的情况:垂直向外扩张,水平向内挤压 上下padding会增加元素占据的尺寸(即看上去高度在增加),左右因为元素宽度已经auto,不会变化。但是内容区域会在水平元素上被挤压。 2.不管有没有高度设置:垂直方向的向外扩张 也不会挤压垂直方向的内容区域。只会增加垂直方向的占据尺寸。 3.有宽度的情况:四个方向均向外扩张 上下padding会增加元素占据的宽、高尺寸,因为宽度固定,不会挤压内容区域的尺寸,增加的padding只会扩张元素的疆土。就像一个人吃胖了。 介于没有宽度设置就不会影响宽度,只会向内挤压,所以在设置宽度的基础上实验: 4.有宽度、有box-sizing的情况:垂直方向向外扩张,水平方向向内挤压。 现象同第一点,但仔细想想,原理和第1点一样,固定了宽度就像第一点中,block元素没有宽度,那就是屏幕的宽度。也是一种有宽度的情况。外部尺寸盒子宽度不变,内部容器盒子加padding组成整个外部尺寸盒子的宽度。padding增加,内部容器盒子响应的就得减少。可以理解为有宽度不设置box-sizing的时候,外部尺寸盒子与内部容器盒子是一体的,用了box-sizing后让二者成了包裹关系,加上固宽,才会有这个现象。 但是第4点同第1点一样的现象是,padding值过大,单方向的padding值(比如padding-left)大于元素的宽度的50%,宽度的值会被增加,内收过头就成了外扩的现象。 5.有宽度、没box-sizing的情况: 四个方向均向外扩张,同第3点。 扩张表现:上边向下,左边向右,右边向左,下边向上。向内挤压式的扩张。

    03

    iOS的MyLayout布局体系--浮动布局MyFloatLayout

    在MyLayout的6大布局中,每种布局都有不同的应用场景。且每种布局的子视图的约束机制不一样:线性布局MyLinearLayout、表格布局MyTableLayout、流式布局MyFlowLayout、浮动布局MyFloatLayout这四种布局的子视图之间的约束是通过添加到父布局的先后顺序来决定的;框架布局MyFrameLayout中的子视图则只跟父布局视图有关,而跟添加的先后顺序无关;相对布局中MyRelativeLayout的子视图则是通过设置视图之间的依赖关系来建立约束的,而跟添加的先后顺序无关。即便如此,同一种界面功能在一些情况下都可以用任何一种布局来实现。在这些布局中相对布局因为是通过设定视图之间的依赖来建立一种布局约束,因此我们可以用他来构造一些复杂且无规律的界面布局,但其缺点则是太过于依赖约束,导致当界面调整时需要重新设定视图之间的依赖关系(iOS的AutoLayout其实就是一种相对布局的实现,布局时需要设置太多的约束,这也是我一直诟病AutoLayout的原因)。那么是否可以有一种方法不设置视图之间的依赖而来实现一些复杂的界面布局呢? 这也就是我们推出浮动布局MyFloatLayout的原因。

    03
    领券