教你如何用 HTML + CSS 来设计 响应式 的网站布局

本文探讨了网页在不同分辨率下(1000px以上、500px以下)的布局变化,包括导航栏和主要内容区块如何适应。CSS代码展示了如何使用媒体查询实现自适应设计,确保在小屏幕设备上的良好体验。

先来看一下成品:

正常分辨率大于1000px(100%):

分辨率小于1000px,网页内容排版发生变化:

 

 

 

 分辨率小于500px时,导航栏发生变化:

 

css代码:

            *{
                box-sizing: border-box;
            }
            .header{
                background-color:white ;
                /* width:100%; */
                padding:20px 0;
                text-align:center;
            }
            .row1::after{
                display: table;
                clear:both;
                content:"";
            }
            .ul1{
                overflow:hidden;
                background-color: rgb(83, 78, 78);
                list-style-type: none;
                margin:0;
                padding:0;
            }
            .ul1 li{
                float:left;
            }
            .ul1 li a{
                
                text-decoration: none;
                color:white;
                display:block;
                padding:1em;
            }
            .ul1 li a:hover{
                background-color: rgb(180, 175, 175);
                color:black;
            }
            .main1{
                float:left;
                width:74.99%;
                /* background-color: ; */
                margin-top: 10px;
                
            }
            .side1{
                float:left;
                width:24.99%;
                /* background-color: ; */
                margin-top: 10px;
                padding-left:10px;
            }
            .neirong1{
                padding:1em;
                margin-top: 10px;
                background-color: white;
            }
            .img1{
                width:100%;
                padding:40px 20px;
                background-color: gray;
                height:100px;
                border:1px solid red;
            }
            .footer{
                text-align: center;
                /* width:100%; */
                padding:20px 0;
                margin-top:10px;
                background-color: lightblue;
            }
            @media screen and (max-width:1000px){
                .main1,.side1{
                    width:100%;
                    padding:0;
                }
            }
            @media screen and (max-width:500px){
                .ul1 li{
                    width:100%;
                    text-align: center;
                }
            }

html代码:

<div style="padding:20px 20px;background-color: lightgray;overflow:hidden;">
            <div class="header">
                <h1>My Website</h1>
                <p>Resize the browser window to see the effect.</p>
            </div>
            <!-- <div class="row1"> -->
                <ul class="ul1">
                    <li><a href="">Link</a></li>
                    <li><a href="">Link</a></li>
                    <li><a href="">Link</a></li>
                    <li style="float:right"><a href="">Link</a></li>
                </ul>
            <!-- </div> -->

            <div class="row1">
                <div class="main1">
                    <div class="neirong1">
                        <h2>TITLE HEADING</h2>
                        <p><b>Title description, Dec 7, 2017</b></p>
                        <div class="img1">
                            Image
                        </div>
                        <p>Some text</p>
                        <p>Sunt in culpa qui officia deserunt mollit anim id est laborum consectetur adipiscing elit,
                            sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
                            Ut enim ad minim veniam, quis nostrud exercitation ullamco.
                        </p>

                    </div>
                    <div class="neirong1">
                        <h2>TITLE HEADING</h2>
                        <p><b>Title description, Sep 2, 2017</b></p>
                        <div class="img1">
                            Image
                        </div>
                        <p>Some text</p>
                        <p>Sunt in culpa qui officia deserunt mollit anim id est laborum consectetur adipiscing elit,
                            sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
                            Ut enim ad minim veniam, quis nostrud exercitation ullamco.
                        </p>

                    </div>
                </div>
            

            
                <div class="side1">
                    <div class="neirong1">
                        <h2>About Me</h2>
                        <div class="img1">
                                Image
                        </div>
                        <p>Some text about me in culpa qui officia deserunt mollit anim..</p>
                    </div>
                    <div class="neirong1">
                        <h2>Popular Post</h2>
                        <div class="img1">
                            Image
                        </div>
                        <div class="img1">
                            Image
                        </div>
                        <div class="img1">
                            Image
                        </div>
                            
                    </div>
                    <div class="neirong1">
                        <h2>Follow Me</h2>
                        <p>Some text...</p>
                    </div>
                </div>
            </div>
                
            <div class="footer">
                <h2>Footer</h2>
            </div>
            

        </div>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值