• HTML+CSS-Day10


    三大重点

    1:元素类型

    (1)块级元素

       哪些标签:div p h1 h2 h3 ul li

       -独占成行(如果有其它元素只能换到下一行)

       -度为0 (默)

       -果有子元素或者文字图片会块元素撑起来(元素多高多高)

    :一组商列表(可能多,可能少  高低不)

       -可指定高度

        示:  导航栏

       -度默认(与父元素宽度相同  100%)

       -透明

       -适用场景(什么时用块元素)

    (1.1) 个独立外层(宽 高 背 定)  div

    (1.2) 间发现有独立方格状内容(div)   置精确

    :红色方格就是 div

    (1.3) 中间导航 ul li(级元素)(字居中 垂 水平) a

    (2)行内元素

       哪些标签:span a

    -素宽度和高度都是依内容  (内容宽度就是素宽度)

    -能指定宽度高度                       -无

    -加(左) padding                -撑开元素

    -与其它行内元素共用一行

    -适用场景

     (1)行或多行 价

      

     (2)a(鼠小箭头变成小手  95% a)

     

      -于不能指定宽度和高度(户操作不方便) 太户点击错误

       (转行内块 转  能指定大小)

    (3)行内块元素

       哪些标签:input img(img位置更精确;适用性更广)

       (3.1)可以指定宽度和高度

       (3.2)会和多个行内块元素或者行内元素共用一行

    -适用场景

       

       

       (3.2)图下方有线

    决办法:

    (1)img  display:block;

    (2)img有 font-size:0;

    (4)相互转换             

    有元素转换块      display:block;

    有元素转换行内块  display:inline-block;

    有元素转换行内    display:inline;

    2:盒模型

    #在网页中的每个标签(元)都包裹在一个透明的盒子中(我们称盒子:盒模型)

    ## 盒子模型

    ### 1. 盒尺寸四大家族

    每个元素的盒模型都包括四个部分。包含了元素内容(content)、内边距(padding)、边框(border)、外边距(margin)。

     width ='100%' src ="../picture/盒子模型示意图.jpg"/>

    (1)内                            # 图      最里面

    (2)内边距-内补(padding)         #           第一层(鞋)

    (3)         (border)          #(可)     二层(壳)

    (4)外距-外补丁(margin)          #           第三层(盒子与盒子之间距间)

    .item2 = 内容290px;+内补丁50px(右);+50px;(右)

                  +边距 50px;(左)

    #############################################

    七、显示和隐藏属性

    1. display:none

    - `display:none;`使元素消失,脱离文档流的消失   (搬)

    - `display:block;`使元素出现,元素显示为块级元素

    2. visibility: hidden

    - `visibility: visible;`元素显示

    - `visibility: hidden;`元素隐藏,占据自身位置       (去了)

    3. opacity: 0;                                     (去了)

    - opacity 属性代表元素的透明度,取值范围是 0-1 之间的数字,0 代表完全透明,1 代表不透明

    - 缺点是,元素内的一切都会随着透明度改变

    不同隐藏和显示适用哪些场景

    (1)最常见    程序: 隐藏display:none;  显示 display:block;

    (2)动画     淡入淡出;左移 右移 上移 下移   opacity:0;    left: top:

    八、文本格式化

    1. 字体属性

    (1)字体大小

    字体大小可以使用不同的单位,如 px、em、rem、vw 等等,不允许负值像素,

    - `font-size: 30px;`字体号属性

       - px 像素

       - em 父级元素的倍数

       - rem 根标签的倍数(移动端网页 !!!!)

      - vw 视窗尺寸

    用户的浏览器默认渲染的文字大小是“16px”(大多数浏览器)“em”是一个相对的大小,相对的是"父级元素"的字体大小,我们可以这样来设置 1em,0.5em,1.5em。

    (2)字体系列(客户电脑与手机相关)

    在选择字体之前,一定要按照产品要求赋值,要确定用户有该字体,或者可能有该字体。字体不要只写中文,最好英文中文一起加入,并把该字体的英文描述写在前面。

    - `font-family`属性设置所需要的字体

    - 一个单词的可以之际使用,多个单词组成词组的用引号括起来,中文尽量用引号括起来

    - 多个字体列表按照顺序从前往后查找执行

    推荐字体序列

    移动端项目:

    font-family:Tahoma,Arial,Roboto,"Droid Sans","Helvetica Neue","Droid Sans Fallback","Heiti SC",sans-self;

    pc端(含Mac)项目:

    font-family:Tahoma,Arial,"Helvetica Neue","Hiragino Sans GB",Simsun,sans-self;

    移动和pc端项目:

    font-family:Tahoma,Arial,Roboto,"Droid Sans","Helvetica Neue","Droid Sans Fallback","Heiti SC","Hiragino Sans GB",Simsun,sans-self;

    (3)字体字重

    字体字重就是字体粗细,但根据浏览器的不同可能展现的粗细表现也不同,因此有些值的差别看不出来,尤其是移动端,要提醒 ui 不要太细,不要太粗,显得更专业

    - `font-weight`字体的字重,字的粗细

    - 于 1 和 1000 之间的数字类型值,必须要是 100 的倍数。

    - 常用关键词:normal(400 默认)、bold(700)、lighter(300)

    - 浏览器不同展现效果不同,需要注意

    (4)字体样式

    在一般情况下,因为部分标签带有自己的样式,所以一些公司在 css 样式重置的时候会先把所有的字体样式搞成统一的,比如具有斜体的``标签,会先把它变成默认样式再进行操作。

    【注意】加粗的标签也会变成默认粗细。不建议使用标签做斜体

    - `font-style`字体样式属性

    - `font-style: normal;` 默认正常

    - `font-style: italic;` 斜体

    (6)字体的简写方式

    - `font:italic 400 40px chiller;`

    - 顺序:字体样式 字重 字号 字体系列,不可改变顺序

    - 最简方式 `font:40px chiller; `字号和字体系列,不能再减少

    2. 文本属性

    (1)字体颜色

    注意:不同终端展示颜色可能不同,尽量使用 web 安全色,或者沟通颜色的要求

    - color:颜色的色值

    - 取值:英文,十六进制,rgba(),其他

    (2)文本的水平(左)对齐方式

    - `text-align`针对块级元素中的内联元素,它需要写在父级(块级元素)中,不能写在子元素中(文字本身和内联元素)

    注意:

    (1)方向水平(左右)居中

    (2)父元素是块级   ok       #div li

      父元素是行内   error      #a span

    - 取值

      - `left`默认,左对齐

      - `center`居中对齐

      - `right`右对齐

    - 内联元素(单个)与文字(单行)在父级水平居中的方式:是对块级元素中的文字,或对块级元素的内联元素水平居中,这个元素需要给父级(块元素),块级元素的水平居中不能使用该属性。

    div {

    width: 500px;

    height: 200px;

    text-align: center;

    /* 适用于div内部的文字和内联元素 */

    }

        abc

    (3) 文本的行高

    - `line-height`属性可以设置文本的行间距(一行与另一行之间距离),可使用长度单位 px,或使用无单位的倍数如 1,1.5,2

    - 文本的行高包括文字上下间距+文本高度,文本居中上下行间距相等

    - 使行间距等于元素高度,则“单行文本”垂直显示在元素中

    - 常用场景

    - 行元素在块元素里上下左右居中(行高等于父级元素高度)

    - 增加元素的文字行间距(在父元素设置,子元素也会生效)

    文字垂直方向居中(注意:父标签 块级)

    (1)二条指句一起写: height:40px;line-height:40px;

      结果:文字垂直居中

     (4) 文本的线条修饰

    在使用 a 标签的时候有一个默认下划线,有时不需要,在 css reset 中将 a 标签的默认下划线去掉

    - `text-decoration: none;`无线条

    - `text-decoration: underline;`下划线

    - `text-decoration: overline;`上划线

    - `text-decoration: line-through;` 删除线

    (5)首行缩进

    - `text-indent`指定块容器中第一行文本的缩进

    - `text-indent:2em`两倍的字体大小,相当于空两格

     (6)文本的换行

    - 文本换行的原因

      - 正常文字的换行(亚洲文字和非亚洲文字)元素拥有默认的`white-space:normal`,当定义的宽度之后自动换行

      - 对于连续的英文字符和阿拉伯数字不能换行,这是因为 div 中,英文字母之间没有空格的话,它会默认认为这是一个英文单词,所以单词就一次输出不换行

    - 换行属性

      - `white-space: nowrap;`不换行

      - `word-wrap:break-word;`强制换行

    (7)文本溢出

    各浏览器对`text-overflow:ellipsis`支持都不统一,特别是表现形式上,因此它的兼容性并不好。

    炽加地lakdsfasdflkj为为为为为为为为为为为为为为

    /* 出现省略标记    .d1 {

    background-color: turquoise;

    (1)父元素是块元素   15:43*/

    width: 150px;

    /* (2)强制不换行 */

    white-space: nowrap;

    /* (3)超出部分隐藏(后面会学) */

    overflow: hidden;

    /* (4)当对象内文本溢出时显示省略标记(...) */

    text-overflow: ellipsis;

    }

    #谨慎使用:文字与图片在一行中显示,调整 图片与文字垂直位置

    #精度高:定位

    #位置精度不高可以使用以上方法

    #位置精度高用:定位

    .vertical-align 属性

    - `vertical-align`是用来设置内联元素对齐方式的,针对的并不是自身的文字

    - 常用关键字值:

      - `vertical-align: middle;`

      - `vertical-align: top;`

      - `vertical-align: bottom;`

      - `vertical-align: baseline;`img 的默认对齐值为基线对齐

    #################################################

    ##盒子阴影

    ### 1.盒子阴影的属性

    - `box-shadow: x轴偏移(水向右) y轴偏移(垂直向下) 

    羽化(模糊)  扩展 颜色 内阴影`

    - 第一个值和第二个值代表: x轴上的偏移量 和y轴上的偏移量(正负值)。

    - 第三个值代表:模糊半径的大小(羽化)不允许负值。

    - 第四个值代表:扩展半径的大小,向四周扩散相等的大小,正值放大,负值缩小。

    - 第五个值代表:颜色值。

    - 第六个值(可选)代表:阴影向内inset:默认阴影向外扩散。

    ```css

        .d1 {

          width200px;

          height100px;

          background-colorblack;

          /*           x轴偏移 y轴偏移 羽化  扩展 颜色 */

          box-shadow15px 14px 10px 20px #666;

        }

        .d2 {

          width200px;

          height100px;

          background-colorred;

          /*  x轴偏移 y轴偏移 羽化  扩展 颜色 内阴影*/

          box-shadow3px 5px 5px 0 green inset;

        }

        .d3 {

          width100px;

          height100px;

          background-colorred;

          border-radius50%;

          box-shadow0 0 50px 30px gold;

        }

    ```

    光标设置

    - `cursor: default;`箭头

    - `cursor: pointer;`小手

    - `cursor: wait;`等待 

    - `cursor: text;`文本

    - `cursor: crosshair;`十字

    - `cursor: progress;`箭头+等待

    - `cursor: help;`箭头+问号

    ```css

        .l1 {

          /* 小手 */

          cursorpointer;

        }

        .l2 {

          /* 箭头+等待 */

          cursorprogress;

        }

        .l3 {

          /* 文本 */

          cursortext;

        }

        .l4 {

          /* 等待 */

          cursorwait;

        }

        .l5 {

          /* 求助 */

          cursorhelp;

        }

    ```

    、背景

    ### 1. 背景颜色

    `background-color: 颜色色值;`

    ### 2. 背景图片(!!!!!!!)

    #### (1)背景图

    - `background-image: url(路径);`

    - 路径可以是绝对路径或者相对路径,注意外部css的路径

    - 背景图必须要求元素具有宽度和高度

    ```css

    .bg {

      width:100%;

      height:500px;

      background-image: url(./img/xz-login/regist.png);

    }

    ```

    #### (2)背景图和img的区别

    - 尺寸角度

      - img具有自己的尺寸,不设置宽度高度,可以直接显示 (如同照片)

      - 背景图必须设置宽度和高度 (如同打印)

    - 增加内容角度 

      - img图片上不可以直接写文字,除非在img盒子外部定位

      - 背景图是可以在图片上写文字的,背景图其实和颜色一样

    - 功能角度

      - img一般用于产品展示,可以根据素材更新

      - 背景图一般大背景或者更新小图标icon

    ### 3. 背景图平铺

    - `background-repeat:repeat;` 默认值 横向纵向都

    - `background-repeat:no-repeat;` 不平铺

    - `background-repeat:repeat-x;` x轴平铺

    - `background-repeat:repeat-y;` y轴平铺

    ```css

        div {

          width300px;

          height300px;

          border2px solid black;

          background-image: url(./img/背景图定位.png);

          background-repeat:no-repeat;

          background-repeat:repeat-x;

          background-repeat:repeat-y;

        }

    ```

    ### 4. 背景图定位

    - `background-position`可以改变背景图的默认的位置,默认位置在元素的左上角。

    - 调整背景图在元素中的位置,有2个方向:x轴方向和y轴方向。

      - `background-position:x轴 y轴` 两个方向

      - `background-position-x` 单独定义x轴

      - `background-position-y` 单独定义y轴

    - `background-position`取值

      - 可以使用长度单位,如:px、pt、em、%等

      - 关键字:top、bottom、center、right、left

      - 取值可以为正值和负值,正值向右移动负值向左移动

    ### 【练习】精灵图

    > 从素材精灵图68*56中随意选取三个小精灵分别显示在三个div中作为背景

    > 利用图片定位做,一个小精灵图片位置为68*56,通过数字进行查找,宽度为68的倍数,高度为56的倍数

     width ='80%' src ="../picture/精灵图.jpg"/>

    ```css

    div{

    width:68px;

    height:56px;

    border:1px solid black;

    background-image:url(./img/精灵图68x56.png);

    background-repeat:no-repeat;

    }

    .d1{background-position:-68px -112px;}

    .d2{background-position:-612px 0;}

    .d3{background-position:-204px -280px;}

    ```

    ### 【练习】

     width ='50%' src ="../picture/背景图定位input.jpg"/>

    > 使用背景图定位将小图片定位在输入框里

    ```css

        input {

          width200px;

          height26px;

          background-image: url(./img/xz-login/yhm.png);

          background-repeatno-repeat;

          background-positionright;

        }

    ```

    ### 5. 背景图尺寸

    - `background-size`属性来控制背景图片的大小.在拉伸方向中有宽度拉伸和高度拉伸两种,所以可以指定两个值`background-size:x轴拉伸 y轴拉伸;`

    - 取值

      - 取1个值,这个值指定图片的宽度,图片的高度隐式的为auto

      - 尺寸可以为px、pt、em、%

      - cover:铺满整个容器的宽高,而图片多出的部分则会被裁掉;

      - contain:容器内至少有一张完整的图,no-repeat情况下容器会有留白区域。repeat情况下留白区域则平铺背景图

     width ='100%' src ="../picture/背景图尺寸的四种常见显示.jpg"/>

    ### 【练习】

    > 要求 width: 100%; height: 500px;   

    > 背景充满宽度  

     

     width ='70%' src ="../picture/xzbg.jpg"/>

    ```css

        * {

          margin0;

          padding0;

        }

        .bg {

          width100%;

          height500px;

          background-image: url(./img/xz-login/regist.png);

          background-repeatno-repeat;

          background-sizecover;

        }

    ```

    ### 6. 背景的简写方式

    - `background:color image repeat position;`简写属性,四组值用空格分开,没有顺序

    - background简写中不包括`background-size``size`需要单独写

    - background最简写法可以是background:color 或者 background:url,其他不可以

    - 简写的弊端:简写的方式会覆盖上边定义好的

    ## 十四、元素特有样式

    ### 1.表单轮廓

    - `outline`属性

    - 简写`outline:width style color;`

    - input标签有默认的轮廓线,清空轮廓线`input {outline: none;} 或 {outline: 0;}`

    ### 2.列表样式 

    - `list-style` 属性是一个简写对属性集合

    - `list-style`简写,`list-style:none`去掉标识(常用)

    - 分开写样式包括:

      - `list-style-type`列表标记

          - `list-style: none;`没有标记

          - `list-style: disc;`默认实心圆点

          - `list-style: circle;`空心圆点

          - `list-style: '♥';`自定义圆点

      - `list-style-image`设置列表标识为小图片

        - url()使用绝对路径或者相对路径

        - 最好放小图,图标大小无法设置

      - `list-style-position`设置标识在li的定位

        - `list-style-position: outside;`默认在li外

        - `list-style-position: inside;`默认在li里

      

    ### 3.表格样式

    - table的样式

      - `border-collapse: collapse;`去双边框缝隙

      - `border-spacing: 10px;`单元格之间的距离,前提是“不能”去掉双边框缝隙

    - td的样式

      - margin外边距设置无效

      - td的垂直居中`vertical-align: middle`其他值:top,bottom

      - `rowspan="x"` 合并行,x写数字不带单位

      - `colspan="x"` 合并列,x写数字不带单位

    ### 【练习】

     width ='50%' src ="../picture/tablelogin.jpg"/>

    ```html

     html>

       charset="UTF-8">

      </span><span style="color:#000000;">Document</span><span style="color:#800000;">

      

      

        

           class="td1-1">登录学子商城

           class="td1-2">新用户注册

        

        

           colspan="2" class="td2-1"> type="text">

        

        

           colspan="2" class="td3-1"> type="text">

        

        

           class="td4-1">

             type="checkbox" id="login">

             for="#login">自动登陆

          

           class="td4-2">忘记密码

        

          

             colspan="2" class="td5-1">

          

      

    ```

    ## 十五、溢出!!!!!!!!!!!!!!!!!!!!!

    ### 1.溢出属性

    - `overflow: hidden;`溢出隐藏

    - `overflow: scroll;`x轴y轴都出现拖动条,子元素不超出也会有滚动条的那条轨道。

    - `overflow: auto;`只有溢出的方向出现拖动条

    - `overflow: visible;`溢出默认展示

    - 单独设定x轴或者y轴的溢出

      - overflow-x: auto;

      - overflow-y: hidden;

      - 如果overflow-x、overflow-y的值相同,则等同于overflow设置了这个值。

      - overflow-x:hidden;那么overflow-y就会被重置为auto。

    ```css

        /* 文字溢出 */

        .div1 {

          width200px;

          height200px;

          background-coloryellow;

          /* 溢出隐藏 */

          overflowhidden;

          /* x轴y轴都出现滚动条 */

          overflowscroll;

          /* 溢出的轴出现滚动条 */

          overflowauto;

          /* 默认值,溢出照样显示 */

          /* overflow: visible; */

        }

        /* 元素溢出 */

        .div2 {

          width200px;

          height200px;

          background-colorred;

          /* 溢出隐藏 */

          overflowhidden;

          /* x轴y轴都出现拖动条 */

          overflowscroll;

          /* 只有溢出的方向出现拖动条 */

          overflowauto;

          /* 溢出默认展示 */

          overflowvisible;

        }

        .erzi {

          width300px;

          height400px;

          background-color: rgba(0,255,0,0.3);

        }

    ```

    ### 2.overflow与BFC(清除浮动和清除外边距溢出时着重讲解)

    - BFC块级格式化上下文,内部元素除了脱离文档流,之外无论如何设置都不会影响父级。(如同杯中水,如何改变也不会撒出)

    - BFC元素不会让元素及元素内部的内容与外边有任何瓜葛。所以形成BFC的元素可以清除浮动带来的影响,不然的话,子元素浮动,父元素塌陷,父元素的兄弟元素会和父元素的子元素重叠,就违背了BFC的初衷,所以要清除浮动带来的影响。

    - scroll、auto、hidden这三个可以触发元素的BFC特性。visible不会。

    - 利用overflow形成BFC的应用:

      - 清除浮动影响:父元素设置overflow:auto/scroll/hidden;可以清除子元素浮动带来的影响。(形成bfc结界,与外界隔绝,仅支持ie7+及现代浏览器)

      - 避免margin穿透/重叠问题(形成bfc结界,与外界隔绝)

    ### 【练习】

    > 一共四张图,横向排列

    > 格子里只显示两张图利用横向拖拽条看到另外两张

     src="../picture/滚动练习.png" width="70%">

    ```html

     html>

       charset="UTF-8">

      </span><span style="color:#000000;">Document</span><span style="color:#800000;">

      

       class="wai">

         class="nei">

           src="./img/overflow/overflow1.jpg" alt="">

           src="./img/overflow/overflow2.jpg" alt="">

           src="./img/overflow/overflow3.jpg" alt="">

           src="./img/overflow/overflow4.jpg" alt="">

        

      

    ```

  • 相关阅读:
    【Java 进阶篇】HTML块级元素详解
    利用python可视化散点图及其计算欧式距离分析相关性
    链表详解1
    从传统开发到低代码:这是一次技术革命
    新零售模式这么应用,太牛了
    nms非极大抑制
    leetcode背包问题总结
    怎么判断一个ip地址是否正确
    c++ 模板类的泛化版本,只声明,不定义,可以么?可以
    龟兔赛跑:如何使用TortoiseSVN客户端和P4EXP
  • 原文地址:https://blog.csdn.net/qq_45229580/article/details/126953344