响应式css3案例分享

响应式项目

个人总结

1、当我们设置了一定的内边距和外边距导致宽度不够时,我们可以用box-sizing: border-box;这样就不会影响你的布局了

2、当我们最外边的div的logo元素已经设置了居中时(text-align:center;),下面的图片有的要隐藏,有的要显示,显示的图片一定设置为display:inline-block;。

3、想让导航栏下的li元素在下面全屏显示,需要给他的父元素list设置绝对定位以及相应的left值和top值,当然了,宽度必须要100%,子元素LI的宽度也必须要100%

4、要想有切换的效果,我们需要把list元素的高度设置为0,并且隐藏,加上过度效果几秒,
overflow: hidden;
height:0;
transition: .5s;
我们还需要在list的后面加上一个.open,并且设置高度为几个li的高度,比如就像案例中的一个li的高度时40,那么4个li的高度是160。(其实list代表的就是ul)

5、想让背景透明,我们可以用background:transparent;来实现效果

6、图片想要实现响应式效果,只需要将宽度设置为100%就可以了

7、我们在js当中可以用classlist中的toggle方法是实现效果的切换

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>响应式页面</title>
    <style>
        * { font-family: Arial; font-size: 14px; margin: 0; padding: 0; border: none; }
        body{
            background:#EFEFEF;
        }
        a { text-decoration: none; }
        ul { list-style: none; }
        .clearfix::after {
        content: '';
        display: block;
        clear:both
        }
        #header{
             height:40px;
             padding:8px 0 15px;
             background:#88C5E1;
             border-bottom:5px solid #54ABD4;
        }
        .logo{
            float:left;
            width:25%;
            text-align:center;
        }
        .large-logo{
            display:inline-block;
        }
        .middle-logo{
            display:none;
        }
        .small-logo{
            display:none;
        }
        .logo img{
            height:40px;
        }
        .search-form{
            float:left;
            width:50%;
        }
        .search-form input{
            width:80%;
            height:40px;
            padding:0 10px;
            border:1px solid #ccc;
            border-radius:10px 0 0  10px;
            box-sizing: border-box;
        }
        .search-form button{
            float:right;
            width:20%;
            height:40px;
            border-radius:0 10px 10px 0;
            border:1px solid #ccc;
            box-sizing: border-box;
        }
        .nav{
            float:right;
            width:25%;
        }
        .nav .btn{
            display:none;
        }
        .nav .list li{
            width:25%;
            float:left;
            height:40px;
            line-height:40px;
            text-align:center
        }
        .nav .list li a{
            display:block;
            color:#fff;
            font-size:12px;
        }
        

    @media screen and (max-width:1024px){
        .middle-logo{
            display:inline-block;
        }
        .large-logo{
            display:none;
        }
        .small-logo{
            display:none;
        }
        
    }
    @media screen and (max-width:640px){
        .middle-logo{
            display:none;
        }
        .large-logo{
            display:none;
        }
        .small-logo{
            display:inline-block;
        }
        .search-form{
            width:60%;
        }
        .nav{
            width:15%;
        }
        .nav .list{
            position:absolute;
            left:0;
            top:68px;
            width:100%;
            background:#88C5E1;
            overflow: hidden;
            height:0;
            transition: .5s;
        }
        .nav .list.open{
            height:160px;
        }
        .nav .list li{
            float:none;
            width:100%;
        }
        .nav .btn{
            display: block;
            margin:2px auto;
            padding:9px 10px;
            border:1px solid #ccc;
            border-radius:4px;
            background:transparent;
            outline:none;
        }
        .nav .btn span{
            display:block;
            width:22px;
            height:2px;
            background:#888;
            margin-bottom:5px;
        }
        .nav .btn span:last-child{
            margin-bottom:0;
        }
    }



    #banner img{
            width:100%;
        }
    .main-contain{
        margin:20px auto;
        width:1000px;
    }
    .col{
        float:left;
        padding:20px;
        width:25%;
        box-sizing: border-box;
    }
    .course-item a{
        color:#333;
    }
    .course-item img{
        width:100%;
    }
    .course-title{
        background:#fff;
        padding:20px 0;
        text-align: center;
    }

    @media screen and (max-width:1024px){
        .main-contain{
            width:100%;
        }

        .col{
            width:50%;
        }
    }

    @media screen and (max-width:640px){
        .col{
            width:100%;
        }

    }
    
    </style>
    <header id="header">
        <div class="logo">
            <img src="img/Brand.png" class="large-logo">
            <img src="img/Brand-M.png" class='middle-logo'>
            <img src="img/Brand-S.png" class='small-logo'>
        </div>
        <form action="search" class='search-form'>
            <input type="search">
            <button>搜索</button>
        </form>
        <nav class="nav">
            <button class="btn">
                <span></span>
                <span></span>
                <span></span>
            </button>
            <ul class="list">
                <li><a href="javascript">首页</a></li>
                <li><a href="javascript">课程</a></li>
                <li><a href="javascript">公告</a></li>
                <li><a href="javascript">登录</a></li>
            </ul>
        </nav>
    </header>    
    <div id="banner">
        <img src="img/homeImg.png" alt="">
    </div>
    <div id="main">
        <div class="main-contain clearfix">
            <div class="col">
                <div class="course-item">
                    <a href="">
                        <div class="course-img">
                            <img src="img/01h5.jpg" alt="">
                        </div>
                        <div class="course-title">
                            <h3>HTNL5</h3>
                        </div>
                    </a>
                </div>
            </div>
            <div class="col">
                <div class="course-item">
                    <a href="javascript:">
                        <div class="course-img">
                            <img src="img/02css3.jpg" alt="">
                        </div>
                        <div class="course-title">
                            <h3>CSS3</h3>
                        </div>
                    </a>
                </div>
            </div>
            <div class="col">
                <div class="course-item">
                    <a href="javascript:">
                        <div class="course-img">
                            <img src="img/03less.jpg" alt="">
                        </div>
                        <div class="course-title">
                            <h3>Less</h3>
                        </div>
                    </a>
                </div>
            </div>
            <div class="col">
                <div class="course-item">
                    <a href="javascript">
                        <div class="course-img">
                            <img src="img/04bootstrap.jpg" alt="">
                        </div>
                        <div class="course-title">
                            <h3>Bootstrap</h3>
                        </div>
                    </a>
                </div>
            </div>
            <div class="col">
                <div class="course-item">
                    <a href="javascript">
                        <div class="course-img">
                            <img src="img/01h5.jpg" alt="">
                        </div>
                        <div class="course-title">
                            <h3>HTNL5</h3>
                        </div>
                    </a>
                </div>
            </div>
            <div class="col">
                <div class="course-item">
                    <a href="javascript">
                        <div class="course-img">
                            <img src="img/02css3.jpg" alt="">
                        </div>
                        <div class="course-title">
                            <h3>CSS3</h3>
                        </div>
                    </a>
                </div>
            </div>
            <div class="col">
                <div class="course-item">
                    <a href="javascript">
                        <div class="course-img">
                            <img src="img/03less.jpg" alt="">
                        </div>
                        <div class="course-title">
                            <h3>Less</h3>
                        </div>
                    </a>
                </div>
            </div>
            <div class="col">
                <div class="course-item">
                   <a href="javascript">
                    <div class="course-img">
                        <img src="img/04bootstrap.jpg" alt="">
                    </div>
                    <div class="course-title">
                        <h3>Bootstrap</h3>
                    </div>
                   </a>
                </div>
            </div>
        </div>
    </div>
    <footer id="footer"></footer>

    <script>
        var btn = document.querySelector('#header .nav .btn');
        var list = document.querySelector('#header .nav .list');
        (function(){
            btn.onclick = function(){
                list.classList.toggle('open')
            }
        })();

    </script>
</body>
</html>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值