zoukankan      html  css  js  c++  java
  • 前端学习笔记2017.6.12 CSS控制DIV

    前一篇文章中用div布局了豆瓣东西的页面,如果用html代码表示的话大概是这个样子的

    <!DOCTYPE html>
    <html>
    <head>
    </head>

    <body>

    <div><!--banner-->
        <div></div><!--banner1-->
        <div></div><!--banner2-->
    </div>

    <div></div><!--ad-->

    <div><!--hierarchy-->
        <div></div><!--left-->
        <div></div><!--right-->
    </div>
    <div><!--goods-->
        <div></div>
        <div></div>
        <div></div>
    </div>


    </body>
    </html>

    把上面那段代码保存为1.html,打开之后发现啥也显示出来。

    这是为什么?因为我们指定了div,但却没告诉浏览器这块div大小、颜色等属性,那么怎么实现这些呢?CSS啦。

    怎么加入css代码呢?用style元素即可,比如下面这样:

    <!DOCTYPE html>
    <html>
    <head>
    </head>
    
    <body>
    <style>
    	
    	div{
    
    		background:red;
    	}
    
    
    </style>
    
    
    <div><!--banner-->
    	<div></div><!--banner1-->
    	<div></div><!--banner2-->
    </div>
    
    <div></div><!--ad-->
    
    <div><!--hierarchy-->
    	<div></div><!--left-->
    	<div></div><!--right-->
    </div>
    <div><!--goods-->
    	<div></div>
    	<div></div>
    	<div></div>
    </div>
    
    
    </body>
    </html>
    

     用浏览器打开发现还是啥也没有,为什么?因为没有指定div的高度、宽度,你怎么可以给一个没有大小的东西填充颜色呢?好,我们给div元素一个大小。

    变成下面这样:

    <!DOCTYPE html>
    <html>
    <head>
    </head>
    
    <body>
    <style>
    	
    	div{
    
    		height:200px;
    		100px;
    		background: red;
    	}
    
    
    </style>
    
    
    <div><!--banner-->
    	<div></div><!--banner1-->
    	<div></div><!--banner2-->
    </div>
    
    <div></div><!--ad-->
    
    <div><!--hierarchy-->
    	<div></div><!--left-->
    	<div></div><!--right-->
    </div>
    <div><!--goods-->
    	<div></div>
    	<div></div>
    	<div></div>
    </div>
    
    
    </body>
    </html>
    

     用浏览器打开之后发现时一个红色的竖条,为什么呢?因为我们上面通过css对所有的div都设置了背景色是红色,怎么能更个性化一些呢?让某个div是红色,某个div是蓝色?可以的,可以给div起一个名字,然后再css代码中指定对应div的名字,这样就针对性的对某个div设置css属性了,好我们再改一下就变成了下面这样:

    <!DOCTYPE html>
    <html>
    <head>
    </head>
    
    <body>
    <style>
    	
    	#banner{
    
    		height:200px;
    		100px;
    		background: red;
    	}
    	#ad{
    		height: 200px;
    		100px;
    		background:blue;
    	}
    	#hierarchy{
    		height: 200px;
    		100px;
    		background: green;
    	}	
    
    	#goods{
    		height:200px;
    		100px;
    		background: yellow;
    	}
    
    </style>
    
    
    <div id="banner"><!--banner-->
    	<div id="banner1"></div><!--banner1-->
    	<div id="banner2"></div><!--banner2-->
    </div>
    
    <div id="ad"></div><!--ad-->
    
    <div id="hierarchy"><!--hierarchy-->
    	<div></div><!--left-->
    	<div></div><!--right-->
    </div>
    <div id="goods"><!--goods-->
    	<div id="goods1"></div>
    	<div id="goods2"></div>
    	<div id="goods3"></div>
    </div>
    
    
    </body>
    </html>
    

    人家豆瓣东西那个banner是布满整个浏览器的,而且你几个div的大小也和豆瓣东西的不一样,再调整一下,怎么看出人家height和width用了几个像素呢?我是截图之后放到PS里面用选区工具框选一下,然后再信息窗口里面看一下这个选区的长width和height,然后再看下图像的分辨率,为了方便,切换成像素/厘米 这样就能算出占用几个像素了,调整一下,最后代码变成了这样:

    <!DOCTYPE html>
    <html>
    <head>
    </head>
    
    <body>
    <style>
    	
    	#banner{
    
    		height:90px;
    	
    		background: red;
    	}
    	#ad{
    		height: 99px;
    		924px;
    		background:blue;
    	}
    	#hierarchy{
    		height: 476px;
    		924px;
    		background: green;
    	}	
    
    	#goods{
    		height:488px;
    		924px;
    		background: yellow;
    	}
    
    </style>
    
    
    <div id="banner"><!--banner-->
    	<div id="banner1"></div><!--banner1-->
    	<div id="banner2"></div><!--banner2-->
    </div>
    
    <div id="ad"></div><!--ad-->
    
    <div id="hierarchy"><!--hierarchy-->
    	<div></div><!--left-->
    	<div></div><!--right-->
    </div>
    <div id="goods"><!--goods-->
    	<div id="goods1"></div>
    	<div id="goods2"></div>
    	<div id="goods3"></div>
    </div>
    
    
    </body>
    </html>
    

    效果如下:

     div的大小布局差不多了,可是豆瓣东西里面的div有几个事居中的,那怎么实现呢?可以用margin来实现,margin它是属于盒模型里面的一个概念,margin是指元素边框到元素外边之间的距离,比如:margin : 10px 0px 15px 5px;

    它的意思是元素边框距离元素外边的距离分别是上边是10像素、右边是0像素、下边是15像素、左边是5像素,按照上右下左的顺序来写的,如果遇到margin的简写比如margin:0px auto;  这种虽然有两个值,但是我们可以把它“转化为”四个值,按照上右下左的顺序

    第一个是0px 第二个是auto,第三个没有了吗?不,返回去,还是0,第四个是auto,这样,所以最后的结果是margin:0px auto 0px  auto

    <!DOCTYPE html>
    <html>
    <head>
    </head>
     
    <body>
    <style>
         
        #banner{
     
            height:90px;
         
            background: red;
        }
        #ad{
            height: 99px;
            924px;
            background:blue;
            margin: 2px auto 2px auto;
           
        }
        #hierarchy{
            height: 476px;
            924px;
            background: green;
            margin: 2px auto 2px auto;
            
        }  
     
        #goods{
            height:488px;
            924px;
            background: yellow;
            margin: 2px auto 2px auto;
        }
     
    </style>
     
     
    <div id="banner"><!--banner-->
        <div id="banner1"></div><!--banner1-->
        <div id="banner2"></div><!--banner2-->
    </div>
     
    <div id="ad"></div><!--ad-->
     
    <div id="hierarchy"><!--hierarchy-->
        <div></div><!--left-->
        <div></div><!--right-->
    </div>
    <div id="goods"><!--goods-->
        <div id="goods1"></div>
        <div id="goods2"></div>
        <div id="goods3"></div>
    </div>
     
     
    </body>
    

     这样就居中啦。

  • 相关阅读:
    数据挖掘实践(34):实战--高潜用户购买画像(三)特征工程
    数据挖掘实践(33):实战--高潜用户购买画像(二)EDA/探索性数据分析
    数据挖掘实践(32):实战--高潜用户购买画像(一)数据清洗
    Java 流程控制 之 顺序结构
    Java 之 运算符
    Java 之 变量
    Handmade Rust Part 1: Introduction & Allocators
    rust 强制转换
    引用与借用
    candidate #1: `std::clone::Clone`
  • 原文地址:https://www.cnblogs.com/yfish/p/6991576.html
Copyright © 2011-2022 走看看