zoukankan      html  css  js  c++  java
  • css学习

    字体和文字

    设置标签的宽高

    只有块级标签才可以设置宽高。

    行内标签的长度取决于内部的值,所以不需要设置宽和高

    /*块级标签设置宽度、高度*/
            div {
                 200px;
                height: 400px;
            }
    
    /*行内标签设置宽度、高度无效*/
    

    字体属性

    /*给字体设置属性*/
            p {
                font-family: "KaiTi", "微软雅黑", "Arial", sans-serif;
                font-size: 24px;
                font-weight: lighter;
                color: red;
                color:#352AFF;
                color: rgb(185,126,255);
                color: rgba(185,126,255,0.5);
            }
    
    • font-family:设置字体样式,如果浏览器不支持第一个字体,则会尝试下一个字体样式

    • font-size:设置字体大小

    • font-weight:设置字体的字重(粗细)

      作用
      normal 默认值,标准粗细
      bold 粗体
      bolder 更粗
      lighter 更细
      100~900 设置具体的粗细,400=normal,700=bold
    • color:设置字体颜色

      1、打开Pycharm画板选中想要的颜色,直接写十六进制。

      2、直接写颜色对应的英文单词,但是英文水平差就找不到你想要的颜色

      3、rgb:,由数字0-255组成,我们可以使用软件截图找到想要的rgb。

      4、rgba:也是rgb值,但是有四个参数,最后一个参数写透明度(0~1)

    文字的属性

    <style>
            p {
                font-weight: bolder;
                font-size: 30px;
    
                text-align: center;
                text-align: left;
                text-align: right;
                text-align: justify;
                text-indent: 48px;
    
                text-decoration: underline;
                text-decoration: overline;
                text-decoration: line-through;
                text-decoration: none;
            }
            a {
                text-decoration: none;
            }
            a:hover {
                color: black;
            }
        </style>
    

    文字对齐 text-align

    text-align: 属性规定元素中的文本的水平对齐方式。

    描述
    left 左对齐,默认值
    right 右对齐
    center 居中对齐
    justify 两端对齐

    文字装饰 text-decoration

    text-decoration属性用来给文字添加特殊效果

    描述
    none 只有文本
    underline 下划线
    overline 上划线
    line-through 删除线

    none一般用于去掉 a标签默认的下划线

    a {text-decoration: none;}
    

    首行缩进 text-indent

    将段落的第一行缩进

    p {text-indent: 48px;}
    

    背景属性

    背景图片

    <style>
            div {
                 1000px;
                height: 1000px;
                background-color: orange;
                background-repeat: no-repeat;
                background-repeat: repeat-x;
                background-repeat: repeat-y;
                background-position: 10px 50px;
                background-position: center center;
    
                background: url("111.jpg") red no-repeat center right;
            }
        </style>
    
    • background-color:背景色,可以填颜色英文单词、十六进制、rgb、rgba

    • background-image:url()填写图片的路径

    • background-position:定义图片的位置。

    • background-repeat:定义图片平铺方式

      repeat:默认值,背景图片平铺整个背景。

      repeat-x:背景图片在水平方向上平铺

      repeat-y:背景图片在垂直方向上平铺

      no-repeat:背景图片不平铺,只显示一张

    支持简写:图片地址、背景色、平铺方式、图片位置

    background: url("111.jpg") red no-repeat center right;
    

    背景图片应用场景:

    所有浏览器你能够看到的都是走网路请求传输过来的
    当你的网站需要用到很多小图标的时候,可以将所有的小图片放在一张图片上,然后通过背景图片的位置来控制显示哪一个小图片,从而节省加载资源

    现在,一般直接将图片转化为文字代码来传输,再将文字代码翻译为图片

    边框

    边框 border 后面写三个参数:

    • border-color:边框的颜色
    • border-style:边框的样式
    • border-width:边框的宽度

    属性可以简写,位置无顺序

    border: 3px solid black
    

    也可以以单独设置样式、颜色、粗细

     p  {
                border-left: 3px solid red;
                border-bottom: 5px dotted green;
                border-top: 1px dashed orchid;
                border-right: 10px solid dimgrey;
         
                border-style: dot-dash;
                border-color: red;
            }
    

    边框的样式:

    描述
    none 无边框
    dotted 点状虚线边框
    dashed 矩阵虚线边框
    solid 实线边框

    画圆

    画圆:先画边框,其次调整圆角度数。

    border-radius:50% 可以通过这个参数来控制圆角的度数

    如果宽和高一样,那么就是个圆形

    如果不一样,那么不一定是椭圆。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            div {
                border: 1px solid black;
                background-color: red;
                height: 400px;
                 400px;
                /*border-radius: 20px;*/
                border-radius: 50%;
            }
        </style>
    </head>
    <body>
    <div></div>
    </body>
    </html>
    

    display属性

    display属性用于控制HTML元素的显示效果

    描述
    none 隐藏元素
    block 将行内标签变成块级标签
    inline 将块级标签变成行内标签
    inline-block 既可以设置长宽,又可以在一行里面展示
    visibility:hidden 隐藏元素

    虽然说none参数可以隐藏某个元素,另外一个选择器也可以隐藏属性:

    visibility: hidden:隐藏某个元素之后,元素所占的空间不会被释放

    display:none:隐藏某个元素之后,元素所占的空间会被释放,下面的元素会顶替,可能会影响布局

    盒子模型

    首先说一下谷歌浏览器 有一个特点,body内默认有8px的外边距,我们可以写在css样式中通用的样式:

    body {margin:0}
    

    以快递盒为例 形容一下盒子模型:

    • 外边距(margin):快递盒与快递盒之间的距离,用于控制标签与标签之间的距离
    • 边框(border):快递盒的厚度
    • 内边距(padding):快递盒内物品与快递盒子之间的距离,用于控制文字内容与标签之间的距离
    • 内容(content):快递内容,显示的文本和图像

    外边距 margin

    上下左右外边距

    margin-top: 0;
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
    

    推荐使用简写:

    body {
                margin: 0;          /*只写一个参数,上下左右外边距全部调整*/
                margin: 10px 15px;      /*写两个参数,第一个参数控制的上下,第二个参数控制左右*/
                margin: 10px 20px 30px;     /*写三个参数,上 左右 下*/
                margin: 10px 20px 30px 40px;        /*顺时针,上右下左*/
            }
    

    内边距 padding

    上下左右内边距

    padding-bottom: 100px;
    padding-top: 100px;
    padding-left: 100px;
    padding-right: 100px;
    

    使用简写的用法于margin相同

    浮动

    1. 在CSS中,任何元素都可以浮动,主要用于页面布局。

    2. 浮动是脱离文档流的,不会遵循块级独占一行的特点。

    3. 浮动元素会生成一个块级框,不论它本身是什么元素。

    关于浮动的两个特点:

    1. 浮动的框是可以向左 或 向右移动,知道它的外边缘碰到包含框或另一个浮动框的边框为止。

    2. 由于浮动框不在文档的普通流中,所以文档的普通流中的快框表象的就像浮动框不存在一样,也就是说浮动会造成父标签塌陷。

    浮动有三种方式:

    1. eft:向左浮动

    2. right:向右浮动

    3. none:默认值,不浮动

    clear清除浮动

    clear属性规定元素的哪一侧不允许其他浮动元素。

    clear属性只对自身起作用,不会影响其他元素。

    描述
    left 在左侧不允许浮动元素
    right 在右侧不允许浮动元素
    both 在左右两侧不允许浮动元素
    none 默认值,允许浮动元素出现在两侧

    清除浮动有三种方式:

    • 固定高度
    • 元素清除法(使用较多)
    • overflow:hidden
    .clearfix:after {
        content: ' ';
        clear: both;
        display: block;
    }
    

    哪里塌陷了,就给那个标签加一个clearfix类属性即可。

    如果给当前标签加没有效果,那么可以考虑给目标标签外层再套一个div,然后给这个新的div加。

    浮动的应用场景

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            body {
                margin: 0;
            }
            .c1 {
                float: left;
                 20%;
                height: 1000px;
                background-color: red;
            }
    
            .c2 {
                    float: right;
                     80%;
                    height: 1000px;
                    background-color: green;
                }
        </style>
    </head>
    <body>
    
    <div class="c1"></div>
    <div class="c2"></div>
    
    </body>
    </html>
    

    overflow溢出属性

    div {
        height: 50px;
         50px;
        border: 3px solid black;
        /*overflow: hidden;*/
        overflow: auto;
    }
    
    描述
    visible 默认值,内容不会被修剪,呈现在元素框之外
    hidden 超出的内容会隐藏(可以做圆形头像)
    scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容
    auto 如果内容被修剪,
    • overflow(水平和垂直均设置)
    • overflow-x (设置水平方向)
    • overflow-y (设置垂直方向)

    做圆形头像例子:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            body {
                background-color:#418899 ;
            }
            .c1 {
                 400px;
                height: 400px;
                border: 3px solid white;
                overflow: hidden;
                border-radius: 50%;
            }
        </style>
    </head>
    <body>
    
    <div class="c1">
        <img src="111.jpg" alt="">
    </div>
    
    </body>
    </html>
    

    定位 position

    所有的标签默认都是静态的,无法直接通过 (top:10px; right:10px; bottom, left)调节位置,需要将其设置成可定位状态。

    • 默认无定位
    • 相对定位:相当于标签自身原来的位置,即静态下的位置。
    • 绝对定位:子标签相当于已经定位过的父标签
    • 固定定位:相对于浏览器窗口,固定在某个位置,比如回到顶部。

    无定位 static

    static 默认值,无定位,不能当作绝对定位的参照物,并且设置标签对象的top:10px ;right:10px,bottom,left等值并没有毛用

    相对定位 relative

    position:relative;

    相对定位是相对于该元素在文档流中的原始位置,即以自己原始位置(无定位时位置,上图为原始位置)为参照物

    有趣的是,即使设定了元素的相对定位以及偏移值,元素还占有着原来的位置,即占据文档流空间。

    对象遵循正常文档流,但将依据top,right,bottom,left等属性在正常文档流中偏移位置。而其层叠通过z-index属性定义。

    注意:position:relative的一个主要用法:方便绝对定位元素找到参照物。

    .c1 {
         100px;
        height: 100px;
        background-color: gold;
        position: relative;
        left: 100px;
        top: 100px;
    }
    

    绝对定位 absolute

    position:absolute;

    定义:设置为绝对定位的元素框从文档流完全删除,并相对于最近的已定位祖先元素定位(必须是祖先,一般是父标签)

    如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块(即body元素)

    元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。

    重点:如果父级设置了position属性,例如position:relative;,那么子元素就会以父级的左上角为原始点进行定位。这样能很好的解决自适应网站的标签偏离问题,即父级为自适应的,那我子元素就设置position:absolute;父元素设置position:relative;,然后Top、Right、Bottom、Left用百分比宽度表示。

    另外,对象脱离正常文档流,使用top,right,bottom,left等属性进行绝对定位。而其层叠通过z-index属性定义。

    .c2 {
        position: relative;
        height: 500px;
         200px;
        background-color: black;
    }
    .c3 {
        position: absolute;
        height: 200px;
         800px;
        top: -50px;
        left: 200px;
        background-color: pink;
    }
    

    固定定位 fixed

    fixed:对象脱离正常文档流,

    使用top,right,bottom,left(不配合使用没毛用)等属性以整个窗口为参考点进行定位,如:position:fixed;bottom:10px; right:10px;即为当前页面右下角

    当出现滚动条时,对象不会随着滚动。而其层叠通过z-index属性 定义。

    注意点: 一个元素若设置了 position:absolute | fixed; 则该元素就不能设置float。这 是一个常识性的知识点,因为这是两个不同的流,一个是浮动流,另一个是“定位流”。但是 relative 却可以。因为它原本所占的空间仍然占据文档流。

    在理论上,被设置为fixed的元素会被定位于浏览器窗口的一个指定坐标,不论窗口是否滚动,它都会固定在这个位置。

    示例代码:(网页返回顶部按钮样式)

    .c2 {
        border: 5px solid black;
        background-color: pink;
        position: fixed;
        bottom: 50px;
        right: 50px;
    }
    

    是否脱离文档流?

    脱离文档流

    绝对定位

    固定定位

    浮动

    不脱离文档流

    相对定位

    z-index

    #i2 {z-index: 999;}
    

    设置对象的层叠顺序

    1. z-index 值表示谁压着谁,数值大的压着数值小的。
    2. 只有定位了的元素,才能有z-index,也就是说,不管相对定位,绝对定位,固定定位,都可以使用z-index,而浮动元素不能使用z-index
    3. z-index值没有单位,就是一个正整数。默认的z-index值为0如果大家都没有z-index值,或者z-index值一样,那么谁写在html后面,谁在上面压着别人,定位了元素,永远压住没有定位的元素。
    4. 从父现象:父亲怂了,儿子再牛逼也没用。
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .cover {
                background-color: rgba(128,128,128,0.4);
                position: fixed;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                z-index: 999;
            }
            .modal {
                background-color: white;
                z-index: 1000;
                position: fixed;
                height: 200px;
                 400px;
                top: 50%;
                left: 50%;
                margin-top: -100px;
                margin-left: -200px;
            }
        </style>
    </head>
    <body>
    
    <div>我是最底下的被压着那个</div>
    <div class="cover"></div>
    <div class="modal">
        <form action="">
            <p>
                username:<input type="text">
            </p>
            <p>
                password:<input type="text">
            </p>
            <p>
                提交:<input type="submit">
            </p>
        </form>
    </div>
    
    </body>
    </html>
    

    透明度

    用来定义透明效果,取值范围是0~1,0是完全透明,1是完全不透明

  • 相关阅读:
    ZipArchive 的使用
    Bootstrap使用心得
    SQL SERVER 级联删除
    ASP.NET 使用C#代码设置页面元素中的样式或属性
    GDI+中发生一般性错误之文件被占用
    .Net 中资源的使用方式
    一张图全解析个性化邮件那么重要
    看天猫EDM营销学企业EDM营销
    细数EDM营销中存在的两大盲点
    如何进行EDM邮件内容的撰写
  • 原文地址:https://www.cnblogs.com/lyyblog0715/p/11879637.html
Copyright © 2011-2022 走看看