利用CSS写简单爱心

学习CSS三天了,可以利用目前所学的制作一个简单的爱心

仅仅需要三个盒子
一个正方形,两个圆
如下图:
在这里插入图片描述
或许还不是能很清楚的看出来,我把多余的部分消除了,如下:
在这里插入图片描述
好了,有了结构,就可以来写代码了
主体部分很简单,就是三个盒子

    <div class="box">
        <div class="yuan1"></div>
        <div class="yuan2"></div>
    </div>

下面就通过css样式来实现我们想要的效果
给这三个盒子设置同样的宽高属性,大盒子里面的小盒子需要边框圆角

<style>
    .box{
        width: 100px;
        height: 100px;
        background-color: indianred;
        margin: 200px auto;
    }
    .box div{
            width: 100px;
            height: 100px;
            background-color: indianred;
            border-radius: 50%;
        }
</style>

做到这一步,实现的效果如下
在这里插入图片描述
此时第一个小圆是在正方形中
所以再给这两个圆添加display属性,转换为行内块,让他们可以在一行显示
但是如果你学了浮动,就更简单,最后再讲
此时转换成行内块还有注意一点:行内块之间有间隙
所以你还要消除行内块的影响
有这几种方法:
1.font-size设置为0px
这种方法仅使用于无文本元素,有文本的话处理比较麻烦,需要把字体大小再设置回来
2.调整margin值
行内块间隙默认4px,自己可以看着调

消除掉行内块的影响后,再把两个圆向上移动高度的一半,第二个圆再向右移动宽度的一半就可以呈现心的效果了
完整代码如下:

    <style>
        .box{
            width: 100px;
            height: 100px;
            background-color: indianred;
            margin: 200px auto;
            font-size: 0px;
            transform: rotate(-45deg);
        }
        .box div{
            width: 100px;
            height: 100px;
            background-color: indianred;
            margin-top: -50px;
            border-radius: 50%;
            display: inline-block;
        }
        .yuan2{
            margin-left: 50px;
        }
    </style>
</head>
<body>
    <div class="box">
        <div class="yuan1"></div>
        <div class="yuan2"></div>
    </div>
</body>

拓展知识:
代码里有一个属性,初学者可能不知道

transform:rotate(-45deg);

这是旋转属性,后面会学到,用这里可以让心呈现的更好看

这里说一下用浮动怎么做
让他们左浮动,就可以在一行显示,完整代码如下:

    <style>
        .box{
            width: 100px;
            height: 100px;
            background-color: indianred;
            margin: 200px auto;
            transform: rotate(-45deg);
        }
        .box div{
            width: 100px;
            height: 100px;
            background-color: indianred;
            margin-top: -50px;
            border-radius: 50%;
            float: left;
        }
        .yuan2{
            margin-left: 50px;
        }
    </style>
</head>
<body>
    <div class="box">
        <div class="yuan1"></div>
        <div class="yuan2"></div>
    </div>
</body>

这是我用目前所学到的知识写出来的简单版,后续我学的更多的时候,会更新这个做法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值