浮动溢出、定位、阴影的制作

本文详细介绍了CSS中的标准文档流、浮动与清除浮动的概念及应用技巧,探讨了文本溢出处理方法,包括如何使用overflow属性控制内容显示。此外,还介绍了按钮制作、圆角、文本阴影及盒子阴影等CSS特效的实现。

浮动与溢出

标准文档流

在HTML中,元素的排列等都离不开文档流,指元素根据块元素或行内元素的特性按从上到下,从左到右的方式自然排列。这也是元素默认的排列方式。

文本溢出overflow

当一个盒子中的内容较多的时候,超出去当前容器。

说明
visible默认值 表示超出正常显示
hidden隐藏
scroll滚动
auto自动(根据文字多少判断是否加滚动条)

省略号的显示

显示省略号的四个条件

  • 容器要有固定的宽高大小

  • 文本强制性的在一行显示

  • 超出去的文本隐藏起来

  • 让隐藏的文本变成省略号

        width: 110px;
        overflow:hidden;
        white-space: nowrap;
        text-overflow: ellipsis;

浮动

在文档流的情况下元素是从左到右、从上到下依次排列,在有些情况下需要将有些块级元素在一行显示,我们可以对其进行浮动处理。

浮动的方式

  • 元素的水平方向浮动,意味着元素只能左右移动而不能上下移动。

  • 一个浮动元素会尽量向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。

  • 浮动元素之后的元素将围绕它。

  • 浮动元素之前的元素将不会受到影响。

  • 如果图像是右浮动,下面的文本流将环绕在它左边

添加浮动

为想要浮动的元素添加float属性,值为left right ,向左或者向右浮动。

浮动的后果

浮动会导致浮动的元素脱离文档流,不再占据原本文档流的位置,但是原来的父元素盒子还是会根据之前的计算方式来计算盒子的高度,这样会导致脱离文档流的元素溢出容器,影响后续元素的布局。

清除浮动

  • 给父元素添加属性overfloat:hidden,这样在计算时会计算远东元素的高度,缺点:会隐藏定位到外围的元素.

  • 在浮动元素下方添加一个空div,并添加清除浮动的样式[<div style="clear: both;"></div>]原理:clear的作用是设置元素左右两边不允许存在浮动元素。

  • 使用after伪元素清除浮动--推荐使用

         div.parent::after {
                content: "";
                display: block;
                height: 0;
                clear: both;
                visibility: hidden;
            }

  • visibility: hidden;可以隐藏元素,但是元素的位置还在,在页面重新渲染时不需要进行重排,siaplay:none也可以隐藏元素,但是他不会保留元素的位置,在页面重新渲染时会进行重排。

  • 在页面中如果使用浮动可以在css文件最前面加固定样式来清除浮动

     .clearfix::after {
                content: "";
                clear: both;
                display: table;
          
          }   

 定位

postition属性是元素的定位类型,postition有五个值,static.ralatiive.fixed.absolute.sticky。

  • static定位,是默认值,没有定位,遵循正常的文档流对象。

  • fixed定位,是指元素相较于浏览器窗口进行固定定位。窗口移动该元素也不会移动。

  • ralatiive定位,进行相对定位的元素相对于自身原本的位置。虽然元素进行了移动,但是元素原本所在的位置还在,不会脱离文档流。

  • absolute定位,指进行绝对定位的元素相较于距离最近的进行定位的父元素的位置。如果父元素门都没有定位则是相对于body。会脱离文档流。

3、按钮与阴影

按钮的制作

  <input type="button" value="提交">
  <button>提交</button>
  button{ width: 50px;
        height: 30px;
        color: aliceblue;
        background-color: rgb(123, 211, 180);
        border: 1px solid aquamarine;
    }
    input{
        width: 50px;
        height: 30px;
        color: black;
        background-color: rgb(134, 131, 217);
        border: 1px solid rgb(156, 152, 216);
     
    }

圆角

border-radius: 5px 5px 5px 5px;

当容器为正方形时,将border-radius的值设为宽度的一半会得到一个圆。

文本阴影

  • 字体阴影,使用text_shadow:2px 2px 2px green,分别为 水平偏移量,竖直偏移量,模糊半径,颜色。

  • h1{ text-shadow: 5px 5px 5px rgb(129, 118, 118); }

 

 

 盒子的阴影

盒子阴影使用 box-shadow,box-shadow不单可以制作出阴影的效果,我们还可以利用其扩展半径这个值,来给对象制作出类似于边框的样式,

box-shadow:给对象实现图层阴影效果

语法:box-shadow:inset x-offset y-offset blur-radius spread-radius color

        
            {
            width: 200px;
            height: 200px;
            background-color:  aquamarine;
            box-shadow:   0 0 0 green,  
                /* 顶部阴影 */
                0 0 0 blue,
                /* 底部阴影 */
                0 5px 5px rgb(167, 232, 196),
                /* 右边阴影 */
                5px 0 5px rgb(133, 216, 179);
           /*四边有一样的阴影*/
           box-shadow: 0 0 5培训green
            }

图片的内阴影

  • img放到一个div中,对父元素div进行box-shadow,再对img进行相对定位,并让其在父元素下一层;

 

 

 div.img{
              width: 100px;
              height: 150px;
              border: 1px solid gray;
              box-shadow:inset 0 0 3px 3px rgb(212, 162, 162);
          }
   img{
       width: 100px;
       height: 150px;
       position: relative;
       z-index: -1;
      }
      <div class="img">
          <img src="./img/1.jpg" alt="">
      </div>
  • 在img父元素上应用上伪元素“::before”来实现

    div.imgs{
        width: 100px;
        height: 150px;
        border: 1px solid gray;
        position: relative;
        display: inline-block;
        *display: block;  
    }
    div.imgs::before{
        width: 100%;
        height: 100%;
        content: "";
        box-shadow:inset 0 0 3px 3px rgb(212, 162, 162);
        display: inline-table;
        position: absolute;
    }
    img{
        width: 100px;
        height: 150px;
        position: relative;
        z-index: -1;
    }
    <div class="imgs">
    <img src="./img/1.jpg" alt=""></div>

    z-index属性

  • z-index属性是用来设置元素的堆叠顺序,值越大层级越高,值越小层级越小越在后,当元素发生堆叠时,层级高的会覆盖层级低的元素。

  • auto:与父元素层级相同

  • 该属性只能在设置了position: relative | absolute | fixed的元素和父元素设置了display:flex的子元素中起作用。

同级元素之间

当两个设置了定位并且z-index属性值不同的元素谁的属性值越大,该元素越在前。
  
当两个设置了定位并且z-index属性值相同情况下,根据元素的书写顺序来决定,谁先写谁在前。
  
两个元素一个设置了z-index属性,一个没有设置的同级元素,没有设置的默认值为0,进行比较。

父元素与子元素

  父元素没有设置该属性,子元素设置该属性,当子元素的z-index属性的值大于0时,子元素层级高于父元素,当子元素的值小于0时,则父元素的层级高于子元素。
  父元素设置该属性,子元素没有设置该属性,无论父元素z-index属性的数值为多少,子元素层级永远高于父元素。

网页前端设计 第 1 章 Web 前端职业前景与重要理念 - Web 前端工程师简介 :了解 Web 前端开发的必要知识与发展前景,认识网页的构成元素,了解专业术语。 - 重要理念 :体验 “表现和结构相分离”,认识 Web 标准。 - Web 前端开发基本流程 :介绍开发流程及常用开发软件。 第 2 章 HTML5 页面的构建与简单控制 - 工作环境概述 :包括 Dreamweaver 和 HBuilderX 的界面、常用工具栏和面板介绍,以及 HBuilderX 的安装与启动、创建项目、安装扩展插件的方法。 - HTML5 入门 :使用 Dreamweaver 构建 “H5 标准页面”,了解 DOCTYPE 文档类型与基本结构元素、HTML5 常见元素及新增结构元素。 第 3 章 CSS3 基础入门 - CSS3 基础知识 :介绍 CSS 的基础语法、注释、引入方式。 - 盒模型 :讲解盒模型的基本概念及宽高的计算方法。 - CSS3 选择器 :包括初级选择器如通配符选择器、类型选择器等,以及高级选择器如子元素选择器、属性选择器等,并说明选择器的优先级。 第 4 章 实现 Web 前端排版的基本美化 - 文本控制 :介绍 CSS 中字体属性与文本属性,Web Font 与@font-face,以及文本的首行缩进、行高和阴影、文本溢出处理方法。 - 超链接控制 :讲解文本链接、邮件链接与锚链接,CSS 伪类与超链接的用法。 - 图像和颜色控制 :介绍 CSS 中控制图像和颜色的基本属性,以及图文混排技巧 。 第 5 章 浮动定位与列表 - 浮动与清除浮动 :解释浮动的概念及清除浮动的三种方法。 - CSS 定位 :阐述静态定位、固定定位、相对定位和绝对定位,以及相对于某一容器的绝对定位。 - 列表样式 :介绍有关列表的 CSS 样式,以及纵向导航、简易横向导航、复杂横向导航的制作方法。 第 6 章 HTML5 增强型表单与简易表格 - 表单创建与编辑 :讲解表单的基本知识及常见的表单对象。 - CSS 控制表单 :介绍搜索栏、用户登录页面的制作,以及传统按钮、CSS3 按钮与开源样式库按钮的使用。 - 表格操作 :介绍表格的基本概念及其简易操作,细线表格、隔行换色表格的制作方法。 第 7 章 CSS3 与 HTML5 的高级应用 - CSS Sprite 技术 :分解 CSS Sprite 技术并介绍其应用。 - CSS3 渐变与动画 :讲解 CSS3 的渐变效果、变形、过渡以及动画的应用实例。 - HTML5 Canvas :介绍如何创建画布并绘制简单图形,Canvas 坐标系统、线条与圆形的绘制方法。 第 8 章 PC 端典型页面的设计与实现 - Photoshop 在 Web 前端的常见操作 :包括基础操作和切片输出方法。 - 页面布局规划与实现 :介绍首页、列表页、内容页的设计与实现过程。 第 9 章 多设备响应式页面的实现 - 响应式页面开发 :了解响应式 Web 设计的概念、viewport 网页可视区域和媒体查询的详解。 - 响应式页面设计与实现 :通过页面分析和详细实施过程,实现多设备响应式页面。 第 10 章 使用 Bootstrap 框架创建页面 - Bootstrap 框架介绍 :包括环境配置、栅格系统、表格、表单、图片和导航栏的使用方法。 - 页面搭建 :介绍使用 Bootstrap 框架搭建简单页面的结构分析和搭建过程。 第 11 章 Web App 类页面的设计与实现 - Web App 开发基础知识 :讲解开发模式和手机屏幕基本知识。 - Swiper 插件使用 :介绍 Swiper 插件的应用。 - 页面实现 :包括首页、列表页、详细内容页的实现过程。 生成思维导图
最新发布
06-26
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值