• CSS学习(二)—— 样式


    此部分将介绍前端开发中常用的一些css样式。

    1. height 高度 & width 宽度

    在html中如果想要给标签设置高度和宽度的话,需要使用height和width属性,并且在设置时有两种单位:

      • 像素,根据像素设置。

      • 百分比,根据百分比设置。

        因网页高度无限制,所以默认高度无法设置百分比,如果非要设置,则需要父级标签设置固定高度,子标签便可使用百分比设置高度。

    注意:行内标签无法设置高度和宽度,如果想要设置必须转换为块级标签才能应用。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
            .c1{
                height: 50px;
                width: 100px;
                background-color: paleturquoise;
            }
            .c2{
                height: 50px;
                width: 200px;
                background-color: palegoldenrod;
            }
            .c3{
                height: 70px;
                width: 20%;
                background-color: palevioletred;
            }
            .c4{
                height: 70px;
                width: 40%;
                background-color: plum;
            }
        </style>
    </head>
    <body style="margin: 0 auto">
        <div class="c1">tag1</div>
        <div class="c2">tag2</div>
        <div class="c3">tag3</div>
        <div class="c4">tag4</div>
    </body>
    </html>
    height&width

     生成页面如下:

    2.   display 显示

    display属性有3个常用的值,用于修改属性的展示状态:

    • display:block,变为块级标签。
    • display:inline;,变为行内标签。
    • display:inline-block,变为行块内标签(行内和块级特性结合)。
    • display:none,把标签隐藏。(设置display:none隐藏标签,移除之后显示标签),常用于设置一些遮罩层
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>CSS学习</title>
    </head>
    <body>
        <h1>div标签</h1>
        <div style="background-color: #2aabd2;display: inline;height: 60px;">我是div</div>
        <div style="background-color: #2aabd2;height: 60px;">我是div</div>
        <h1>span标签</h1>
        <span style="background-color:gold;height: 60px;">我是span</span>
        <span style="background-color:gold;display: block;height: 60px;">我是span</span>
        <!--总结,HTML标签中 div和span标签可以通过display属性完全互换,其实记住一个div就行了。-->
        <h1>特殊的display:inline-block</h1>
        <div style="display: inline-block;background-color: pink;height: 80px;">我是</div>
        <div style="display: inline-block;background-color: goldenrod;height: 80px;">科比</div>
    </body>
    </html>
    display 显示

    生成页面如下:

    3.   float 浮动

    float浮动用于实现N个标签并排存放(主要针对块级标签,行内标签默认就可以并排存放)。

    页面布局时,一般都会使用div标签及float属性来实现,float设置时一般有两个值:

    • float:left,标签并排向左浮动。
    • float:right,标签并排向右浮动。
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>CSS学习</title>
    </head>
    <body>
        <h1>向左浮动</h1>
        <div>
            <div style="float:left; 100px;background-color: green;">天堂</div>
            <div style="float:left; 100px;background-color: red;">地狱</div>
        </div>
    </body>
    </html>

     特别注意:布局中如何使用了float浮动,就会出现脱离文档流的现象,为防止这种情况,以后只要出现浮动就记得要清楚浮动,即:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>CSS学习</title>
    </head>
    <body>
        <h1>正确示例</h1>
        <h2>向左浮动</h2>
        <div style="background-color: pink;">
            <div style="float:left;color: green;">天堂</div>
            <div style="float: left;color: red;">地狱</div>
            <!-- 清除浮动,与使用了float属性的标签放在同一级 -->
            <div style="clear:both;"></div>
        </div>
        <h2>向右浮动</h2>
        <div>
            <div style="float:right; 100px;background-color: green;">天堂</div>
            <div style="float: right; 100px;background-color: red;">地狱</div>
            <div style="clear: both;"></div>
        </div>
        <h2>一个向左一个向右</h2>
        <div>
            <div style="float:left; 100px;background-color: green;">天堂</div>
            <div style="float: right; 100px;background-color: red;">地狱</div>
            <div style="clear: both;"></div>
        </div>
    </body>
    </html>

    页面效果如下:

    4.   font 字体 & 颜色

    5.   文字对齐方式

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>CSS学习</title>
        <style>
            .demo1{
               width: 400px;
            }
            .demo2{
                width: 400px;
                height: 100px;
            }
        </style>
    </head>
    <body>
        <h1>水平方向</h1>
        <div class="demo1" style="background-color: pink;text-align: left;">Alex媳妇满身大汗</div>
        <div class="demo1" style="background-color: darkseagreen;text-align: center;">王老汉</div>
        <div class="demo1" style="background-color: goldenrod; text-align: right;">武老汉</div>
        <h1>垂直方向</h1>
        <div class="demo2" style="background-color: pink;">Alex媳妇满身大汗</div>
        <div class="demo2" style="background-color: darkseagreen;line-height: 100px;">王老汉(推荐)</div>
        <div class="demo2" style="background-color: goldenrod;position: relative; ">
            <span style="position: absolute;bottom: 0;">武老汉,这个知识点下一节细讲</span>
        </div>
    </body>
    </html>

    6.   padding 内边距

    /* 单独设置上下左右内边距 */
    padding-left:8px;
    padding-right:2px;
    padding-top:4px;
    padding-bottom:18px;
    /* padding:上 右 下 左; */
    padding:10px 0 2px; 4px;
    /* padding:上下  右左; */
    padding:7px 5px;
    /* padding:上下右左; */
    padding:8px;

    7.    margin 外边距

    外边距用于相邻的标签之间增加距离用。边距可以设置上、下、左、右方向。

    特别注意:关于外边距还有两个特殊的知识点需要学习。

    • body标签默认有一个 8px的外边距,所以你会发现默认的页面都有一个“白边”。

    • 自动居中布局,你应该见过很多网站的内容都在中间放置,两边是空白。
    /* 只要指定宽度并设置margin为 0 auto 就可以实现div 自动居中布局*/
    900px;
    margin:0 auto;

    8. border 边框

    用于给标签设置边框。

    扩展border-radius也可以设置圆角边框。

    9. background 背景

    background用于设置标签背景,关于background的常用功能有:

    • background-color,设置背景颜色
    • backgroud-imgage,设置背景图片
    • background-repeat,背景图片如何重复
    • background-postion,背景图片位置

    10. cursor 光标

    cursor指鼠标放在标签上之后显示的形状。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>CSS学习</title>
    </head>
    <body>
        <a href="#">你是谁?</a>
        <div>我是你永远的得不到的爸爸。</div>
        <div style='cursor: pointer;'>我去你麻辣个鸡。</div>
        <div style='cursor: help;'>你是个傻吊吗?。</div>
        <div style='cursor: move;'>不,我是个傻爹?。</div>
    </body>
    </html>

    11.  position定位

    position:fixed,生成绝对定位的元素,相对于浏览器窗口进行定位。例如最常见的广告位和返回顶部,都是基于它来实现。

    position:absolute ,生成绝对定位的元素,相对于特定第一个父元素进行定位,常与position:relative结课使用。例如:想要让某标签相对某指定标签位置显示。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>小米商城</title>
        <link rel="shortcut icon" href="img/favicon.ico">
        <style>
            body {
                margin: 0;
                font: 14px/1.5 Helvetica Neue, Helvetica, Arial, Microsoft Yahei, Hiragino Sans GB, Heiti SC, WenQuanYi Micro Hei, sans-serif;
            }
            .container {
                width: 1190px;
                margin: 0 auto;
            }
            .left {
                float: left;
            }
            .right {
                float: right;
            }
            .header {
                height: 40px;
                line-height: 40px;
                background-color: #333;
                color: #b0b0b0;
                font-size: 12px;
            }
            .header .menus ul {
                list-style: none;
                padding: 0;
                margin: 0;
            }
            .header .menus ul li {
                float: left;
            }
            .header .menus a, .header .account a, .header .car a {
                text-decoration: none;
                display: inline-block;
                padding: 0 5px;
            }
            .header .menus .app {
                position: relative;
            }
            .header .menus .app .download {
                padding: 10px;
                background-color: white;
                border: 1px solid #dddddd;
                position: absolute;
                left: 5px;
                top: 40px;
            }
            .header .menus .app .download img {
                display: block;
                width: 80px;
                height: 80px;
            }
            .header .menus .app .download div {
                margin-top: 5px;
                line-height: 20px;
                text-align: center;
            }
            .header .car a {
                display: inline-block;
                height: 40px;
                padding: 0 15px;
                margin-left: 20px;
                background-color: #424242;
            }
        </style>
    </head>
    <body>
    <div class="header">
        <div class="container">
            <div class="menus">
                <ul>
                    <li><a>小米商城</a></li>
                    <li><a>MIUI</a></li>
                    <li><a>IoT</a></li>
                    <li><a>云服务</a></li>
                    <li class="app">
                        <a>下载app</a>
                        <div class="download">
                            <img src="https://images.cnblogs.com/cnblogs_com/wupeiqi/662608/o_20130809170025.png" alt="">
                            <div>快来扫码下载</div>
                        </div>
                    </li>
                    <li><a>规则协议</a></li>
                </ul>
            </div>
            <div class="car right"><a>购物车(0)</a></div>
            <div class="account right">
                <a>登录</a>
                <a>注册</a>
                <a>消息通知</a>
            </div>
            <div style="clear: both;"></div>
        </div>
    </div>
    </body>
    </html>

    总结:如果在使用absolute定位时,找不到特定的父级标签,absolute根据整个页面大小的进行定位。

    • fixed,只能根据浏览器窗口进行定位,将标签固定在浏览器窗口的某个位置。
    • absolute,可结合relative实现相对定位;也可单独使用,将标签固定页面的某个位置。

    12. opacity 透明度

    给标签设置透明度,例如:常见的加载、登录框等显示都是基于它实现。

    • 基于z-index属性把页面分为三层:最底层是文章、中间层是黑色遮罩、最上层是登录框。

    • 为中间的黑色遮罩设置透明度,否则无法看到最底层,透明度值范围:0~1,越大越不透明,例如:

    13. hover 伪类

    hover伪类作用:当鼠标放在标签上时,可以能够设置一些样式。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>小米商城</title>
        <link rel="shortcut icon" href="img/favicon.ico">
        <style>
            body {
                margin: 0;
                font: 14px/1.5 Helvetica Neue, Helvetica, Arial, Microsoft Yahei, Hiragino Sans GB, Heiti SC, WenQuanYi Micro Hei, sans-serif;
            }
            .left {
                float: left;
            }
            .container {
                width: 980px;
                margin: 0 auto;
            }
            .header {
                height: 40px;
                line-height: 40px;
                background-color: #333;
                color: #b0b0b0;
                font-size: 12px;
            }
            .header .menus ul {
                list-style: none;
                padding: 0;
                margin: 0;
            }
            .header .menus ul li {
                float: left;
            }
            .header .menus a{
                text-decoration: none;
                display: inline-block;
                padding: 0 5px;
                color: #b0b0b0;
            }
            .header .menus a:hover{
                color: white;
                background-color:#424242 ;
            }
        </style>
    </head>
    <body>
    <div class="header">
        <div class="container">
            <div class="menus left">
                <ul>
                    <li><a href="#">小米商城</a></li>
                    <li><a href="#">MIUI</a></li>
                    <li><a href="#">IoT</a></li>
                    <li><a href="#">云服务</a></li>
                </ul>
            </div>
            <div style="clear: both;"></div>
        </div>
    </div>
    </body>
    </html>

    14. after 伪元素

    after伪元素作用:在自己内部标签底部设置元素。

  • 相关阅读:
    第六章类(十一)构造函数4对象初始化器和集合初始化器
    第六章类(十)构造函数3new
    第六章类(九)构造函数2默认构造函数
    Javascript---- 练习八(字符串操作)
    图解CSS3----white-space空白符处理
    图解CSS3----word-break单词断行
    图解CSS3----word-wrap(单词换行)
    图解CSS3----text-overflow(文本溢出属性)
    图解CSS3----vertical-align(文本垂直对齐方式)
    Javascript---- 练习五(函数,事件绑定)
  • 原文地址:https://www.cnblogs.com/sunny0824/p/13367638.html
Copyright © 2020-2023  润新知