美文网首页设计师学前端
设计师学习HTML/CSS之路-11

设计师学习HTML/CSS之路-11

作者: HU_Wei | 来源:发表于2018-08-19 14:50 被阅读0次

    不了解前端的UI不是好美工,以下是慕课网HTML+CSS基础教程学习笔记,不废话,Start!

    第12章 CSS布局模型

    11-1 元素分类

    在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素内联元素(又叫行内元素)和内联块状元素

    常见的块状元素有:
    <div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>
    
    常见的内联元素有:
    <a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>
    
    常见的内联块状元素有:
    <img>、<input>
    

    11-2 元素分类-块级元素

    块级元素的特点:

    1. 每个快级元素都从新的一行开始,而且其他的元素也另起一行。(占满一行);
    2. 元素的高度、宽度、行高以及顶和底边距都可以设置;
    3. 元素宽度在不设置的情况下,是他本身父容器的100%。(和父元素的宽度一致)

    设置display:block就是将元素显示为块级元素。如将内联元素转换为块级元素:

    span{display:block;}
    
    image
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>内联块状元素</title>
    <style type="text/css">
    div,p,h1{background:pink;}
    div{display:block;}
    </style>
    </head>
    <body>
    <div>div1</div>
    <div>div2</div>
    <p>段落1段落1段落1段落1段落1</p>
    <h1>asda </h1>
    </body>
    </html>
    

    11-3 元素分类-内联元素

    内联元素(行内元素)inline

    块状元素也可以通过代码display:inline将元素设置为内联元素

    div{display:inline;}
    

    内联元素特点:

    1. 和其他元素都在一行上;
    2. 元素的高度、宽度以及顶部底部边距不可设置;
    3. 元素的宽度就是他包含的文字或图片的宽度,不可改变。
    image
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>行内元素标签</title>
    <style type="text/css">
    a,span,em,p{
        background:pink;/*设置a、span、em标签背景颜色都为粉色*/
    }
    p{display:inline;}
    </style>
    </head>
    <body>
    <a href="http://www.baidu.com">百度</a>
    <span>33333</span>
    <span>44444</span><em>555555</em>
    <p>asldkj</p>
    </body>
    </html>
    

    11-4 元素分类-内联块状元素

    内联块状元素(inline-block)就是同时具备内联元素块状元素的特点,代码display:inline-block就是将元素设置为内联块状元素。<img>、<input>标签就是这种内联块状标签。

    inline-block 元素特点:

    1、和其他元素都在一行上;

    2、元素的高度、宽度、行高以及顶和底边距都可设置。

    image
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>内联块状元素</title>
    <style type="text/css">
    a{
        display:inline-block;
        width:60px;/*在默认情况下宽度不起作用*/
        height:20px;/*在默认情况下高度不起作用*/
        background:pink;/*设置背景颜色为粉色*/
        text-align:center; /*设置文本居中显示*/
    }
    </style>
    </head>
    <body>
    <a>1</a>
    <a>2</a>
    <a>3</a>
    <a>4</a>
    </body>
    </html>
    

    11-6 盒模型-边框(一)

    盒子模型的边框(border)就是围绕着内容及补白的线,这条线你可以设置它的粗细样式颜色(边框三个属性)。

    如:

    image
    p{border:2px dotted #ccc;}
    

    上面是 border 代码的缩写形式,可以分开写:

    p{
        border-width:2px;
        border-style:dotted;
        border-color:#ccc;
    }
    

    border-style常见样式有:
    dashed(虚线)| dotted(点线)| solid(实线)

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>边框</title>
    <style type="text/css">
    p{border:2px dotted #ccc;}
    </style>
    </head>
    <body>
        <p>一个完整的调色板,应包含主色、辅助色和灰度色。主色一般选用App图标使用的品牌色,辅助色是指主色的近似色和对比色。</p>
        <p>方法:先确定主色的HSB,近似色一般在色环中+-30至50的H值,对比色一般+-180至200的H值。</p>   
    </body>
    </html>
    

    11-7 盒模型-边框(二)

    css样式中允许只为一个方向的边框设置样式:

    div{border-bottom:1px solid red;}
    

    同样可以使用下面代码实现其它三边(上、右、左)边框的设置:

    border-top:1px solid red;
    border-right:1px solid red;
    border-left:1px solid red;
    

    如:


    image
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>边框</title>
    <style type="text/css">
    li{border-bottom:1px dotted red;
        
    }
    </style>
    </head>
    <body>
    <ul>
        <li>第一条内容</li>
        <li>第二条内容</li>
        <li>第三条内容</li>
    </ul>
    </body>
    </html>
    

    11-8 盒模型-宽度和高度

    image

    一个元素的实际宽度=左边距+左边框+左填充+内容宽度+右填充+右边框+右边界。

    li{
        border-bottom:1px dotted #ccc;
        width:200px;height:30px;
    }
    

    上段代码表示为列表设置宽度为200px,高为30px的下划线

    补充:li是块状元素,块状元素有一个特点之一:在不设置宽度的情况下,显示为父容器的100%。

    11-9 盒模型-填充

    元素内容与边框之间是可以设置距离的,称之为“填充”。填充也可分为上、右、下、左(顺时针)。如下代码

    div{padding:20px 10px 15px 30px;}
    

    相当于以下代码:

    div{
       padding-top:20px;
       padding-right:10px;
       padding-bottom:15px;
       padding-left:30px;
    }
    

    如果上、右、下、左的填充都为10px;可以这么写:

    div{padding:10px;}
    

    如果上下填充一样为10px,左右一样为20px,可以这么写:

    div{padding:10px 20px;}
    
    image
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>填充</title>
    <style type="text/css">
    #box1{
        width:100px;
        height:100px;
        padding:10px;
        border:1px solid red;
    }
    </style>
    </head>
    <body>
    <div id="box1">盒子1</div>
    </body>
    </html>
    

    11-10 盒模型-边界

    元素与其它元素之间的距离可以使用边界(margin)来设置。边界也是可分为上、右、下、左。如下代码:

    div{margin:20px 10px 15px 30px;}
    

    也可以分开写:

    div{
       margin-top:20px;
       margin-right:10px;
       margin-bottom:15px;
       margin-left:30px;
    }
    

    如果上右下左的边界都为10px;可以这么写:

    div{ margin:10px;}
    

    如果上下边界一样为10px,左右一样为20px,可以这么写:

    div{ margin:10px 20px;}
    

    总结一下:padding和margin的区别,padding在边框里,margin在边框外

    image
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>边距</title>
    <style type="text/css">
    div{
        width:300px;
        height:300px;
        border:1px solid red;   
    }
    #box1{margin:30px;}
    </style>
    </head>
    <body>
        <div id="box1">box1</div>
        <div id="box2">box2</div>   
    </body>
    </html>
    

    相关文章

      网友评论

        本文标题:设计师学习HTML/CSS之路-11

        本文链接:https://www.haomeiwen.com/subject/riuciftx.html