04.18

一.css里的垂直对齐方式
~匹配的是当前元素之后的所有元素 + 匹配的元素是当前元素紧跟之后的元素
父元素里面的子元素 垂直对齐
1.子元素大小一致时,使用padding 让元素垂直对齐
2.如果子元素大小不一致,设置元素的垂直对齐方式vertical-align: middle;

使用行高让文本垂直对齐 水平对齐(一般不使用)
文本水平居中 设置text-align:center;
把行高设置和高度一致,文本垂直居中ine-height:100px;

<div class="par">
    <div class="par1">div1</div>
    <div class="par2">div2</div>
    <div class="par3">div3</div>
    <div class="par4">div4</div>
</div>

<hr/>
<div class="parone">
    <div class="parone1">div1</div>
    <div class="parone2">div2</div>
    <div class="parone3">div3</div>
    <div class="parone4">div4</div>
</div>
<style>
        .par {
            height: 150px;
            border: 1px solid #000;
            padding: 25px;
            box-sizing: border-box;

        }

        .par1, .par2, .par3, .par4 {
            border: 1px solid red;
            display: inline-block;
            text-align: center;
            /*设置元素的垂直对齐方式*/
            vertical-align: middle;
        }

        .par1 {
            width: 100px;
            height: 100px;
            line-height: 100px;
        }

        .par2 {
            width: 80px;
            height: 80px;
            line-height: 80px;
            ;
        }

        .par3 {
            width: 60px;
            height: 60px;
            line-height: 60px;
        }

        .par4 {
            width: 40px;
            height: 40px;
            line-height:40px;
        }




        .parone {
            height: 150px;
            border: 1px solid #000;
            padding: 25px;
            box-sizing: border-box;
        }

        .parone1, .parone2, .parone3, .parone4 {
            border: 1px solid red;
            float: left;
            text-align: center;
            box-sizing: border-box;
            width: 100px;
            height: 100px;
            line-height:100px;

        }

    </style>

二.盒子塌陷
父子元素怎么处理盒模型塌陷
1.给父元素设置边框 border
2.给父元素设置超出隐藏 overflow: hidden;
3.给父元素设置内间距 padding随便设置,只要不是0就行
兄弟元素怎么处理,防止带动另一个效仿
1.相对位置
2.元素浮动

<div class="par">
    <div class="par1">我是子div1</div>
    <div class="par2">我是子div2</div>
</div>
 <style>
        .par {
            height: 200px;
            background-color: pink;
        }

        .par1 {
            border: 1px solid red;
            width: 100px;
            height: 100px;
            float: left;
            margin-top: 40px;
        }
        .par2 {
            border: 1px solid red;
            width: 100px;
            height: 100px;
            display: inline-block;
            position: relative;
           top: 20px;
           }
    </style>

三.checked伪类选择器
-webkit-appearance: none;除去checkbox在浏览器中的默认的样式
background-image: url("./img/1.png");除去样式后,引入图片变成你想要的样式
checked {transform: rotatez(-90deg);}点击check按钮图样标志旋转-90度
list-style: none;去掉无序排列的前面的点
.menu > li:hover {background-color: red;背景色变化cursor: pointer;光标移动,鼠标变成小手}
background-position: -16px 0; 背景位置移动,即图片样子变化

四.网站布局
1.固定布局 固定像素布局 px
2.流动布局 百分比布局 %

网站布局 layout布局
1.浮动布局 —就是元素左右浮动 堆叠产生布局模式
2.定位布局 —就是元素使用各种定位 产生的布局模式
3.弹性盒子布局 —flex 进行布局
弹性布局的样式 flex 手机App 手机网站使用弹性,屏幕分辨率可变大变小,所以适合手机app
4.多列布局
5.网格布局grid

1.流动布局
display: flex;设置弹性布局
flex-direction: column;项目将在列的方向上排列
flex-direction:row;项目将在水平方向上排列
flex: 1;盒模型在整体中占得比例大小 flex1 表示占一份
order: 2;分配空间排序 数字越小,排名越靠前,显示越靠前
flex-wrap: wrap;设置溢出折行 nowrap
justify-content: center;内容区域的水平位置居中 左 start 右 end
align-content: center;内容区域的垂直位置居中 左 start 右 end
align-items: center;内容垂直居中
justify-items: center;内容水平居中
justify-content:space-between;项目位于各行之间留有空白的容器内
align-self: center;居中对齐弹性对象元素内的某个项

<div class="par">
    <div class="par1">1</div>
    <div class="par2">
        <div class="par2_1">我是文本</div>
    </div>
    <div class="par3">
        <div>1</div>
        <div>2</div>
        <div>3</div>
    </div>
    <div class="par4">4</div>
</div>
<style>
    .par {
        margin: auto;
        width: 500px;
        height: 200px;
        border: 1px solid #000;
        display: flex;
        flex-direction: column;
    }

    .par1 {
        flex: 1;
        order: 2;
        border: 1px solid #c0c0c0;
        background:green;
    }

    .par2 {
        flex: 2;
        order: 3;
        border: 1px solid #c0c0c0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .par2_1 {
        display: flex;
        width: 500px;
        height: 40px;
        margin: 0;
        border: 1px solid #000;
        align-items: center;
        justify-content: center;
        background: pink;
    }

    .par3 {
        flex: 3;
        order: 4;
        border: 1px solid #c0c0c0;
        display: flex;
        flex-direction:row;
        flex-wrap: wrap;

    }

    .par3 > div {
        flex: 1;
        border: 1px solid blue;
    }

    .par4 {
        flex: 1;
        order: 1;
        border: 1px solid #c0c0c0;
        background:red;
    }
</style>

2.网格布局
display: grid; 指一个容器采用网格布局
设置列的宽
写成固定值指每列的宽
fr 指曲线系数 平分空间 grid-template-columns:1fr 1fr;表是两个相同宽度的列;
grid-template-columns:150px 1fr 2fr;第一列的宽度为150px,第二列的宽度是第三列的一半;
grid-template-columns: repeat(3, 33.333%);定义每一列的列宽 第一个数是重复的次数,33.%就是意味着垂直线将其分成三等分
grid-template-rows: repeat(5,30px);定义每一行的行高
grid-column: 1/3;从垂直线的第一根线到第三个线,实际占两列=grid-row-start: 1;grid-row-end: 3;
grid-row: 1/3; 从水平线的第一根线到第三个线,实际占两行=grid-row-start: 1; grid-row-end: 3;
grid-gap: 10px;设置网格间隙值
计算列 可以写 固定值 百分比值 重复列

<div class="warp">
    <div class="warp_1">1</div>
    <div class="warp_2">2</div>
    <div class="warp_3">
        <div class="th3">3</div>
    </div>
    <div class="warp_4">4</div>
</div>
<style>
    .warp {
        margin: auto;
        width: 1190px; 
        display: grid; 
        grid-template-columns: repeat(3, 33.333%);
        grid-template-rows: repeat(5,30px);
        border: 1px solid #000;
    }

    .warp_1 {
        border: 1px solid deeppink;
        grid-row: 1/3;
        grid-column: 1/3;
       background-color: red;
    }

    .warp_2 {
        border: 1px solid deeppink;
        grid-column: 2/4;
        grid-row: 1/2;
        background-color: blue;
    }

    .warp_3 {
        border: 1px solid deeppink;
        grid-column: 3/4;
        grid-row: 2/6;
        background-color: pink;
        display: grid;

    }

    .warp_4 {
        border: 1px solid deeppink;
        grid-column: 1/3;
        grid-row: 3/6;
        background-color: green;

    }

    .th3 {
        width: 30px;
        height: 30px;
        border: 1px solid #000;
        display:grid;
        justify-content: center;
        align-content: center;

    }
    
</style>

3.多列布局
column-count: 3;设置有几个列
column-gap: 10px;设置列间距的
column-rule:1px solid black;设置列间距间的竖线
column-width: 50px;设置里面的文本的列宽的

<div class="block">
    <div>1当我年轻的时候,我梦想改变这个世界;当我成熟以后,我发现我不能够改变这个世界,我将</div>
    <div>2当我年轻的时候,我梦想改变这个世界;当我成熟以后,我发现我不能够改变这个世界,我将</div>
    <div>3当我年轻的时候,我梦想改变这个世界;当我成熟以后,我发现我不能够改变这个世界,我将</div>
</div>
<style>
    .block {
        margin: auto;/*浏览器计算外边距*/
        width: 1000px;
        column-count: 3;
        column-gap: 10px;
        column-rule:1px solid black;
        border: 1px solid #000;

    }

    .block > div {
        border: 1px solid red;
        height: 200px;
        column-count: 4;
        column-rule: 1px solid pink;
    }
</style>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值