前端开发基础3:CSS3常见显示属性

简介: 本实验将介绍CSS3中的常见显示属性。

前端开发基础3:CSS3常见显示属性


1.  创建资源

开始实验之前,您需要先创建实验相关资源。

  1. 在实验室页面,单击创建资源
  2. (可选)在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如IP地址、子用户信息等)。

说明:资源创建过程需要3~5分钟视资源不同开通时间有所差异,ACK等资源开通时间较长。完成实验资源的创建后,您可以在云产品资源列表查看已创建的资源信息,例如:子用户名称、子用户密码、AK ID、AK Secret、资源中的项目名称等。

实验环境一旦开始创建则进入计时阶段,建议学员先基本了解实验具体的步骤、目的,真正开始做实验时再进行创建。

资源创建成功,可在左侧的资源卡片中查看相关资源信息以及RAM子账号信息

2.  进入VNC实验环境

  1. 进入网页环境

1.1 资源创建成功后,我们在右侧选择切换到远程桌面

1.2 在远程桌面页面中,点击Chromium网页浏览器

  1. 登录RAM用户

2.1 浏览器启动后会默认打开阿里云的RAM用户登录页。在登录页面中我们点击下一步按钮。

2.2 接下来我们需要输入RAM用户的密码。密码显示在实验控制台左侧,我们点击子用户密码右侧的复制按钮。

复制完成后,我们在用户密码框中按Ctrl + V 复制密码,然后点击登录按钮

  1. 进入ECS的远程连接。

3.1 登录成功后,页面跳转到控制台,我们在控制台的搜索框中输入ECS,然后点击云服务器ECS进入云服务器控制台。

3.2 在ECS控制台中,我们找到实验创建的ECS,点击右侧的远程连接按钮。

3.3 在远程连接中选择通过VNC远程连接中的立即登录如果没有显示该选项,则可点击展开其他登录方式按钮。

  1. 登录VNC远程连接

4.1 初次登录VNC远程连接时需要先设置VNC密码。点击重置VNC密码按钮。

4.2 输入两次新的VNC密码,并点击确认

4.3 VNC密码设置成功后,输入密码并点击确认。

4.4 VNC登录成功后会看到实验ECS的登录界面。

3.  边框属性

从2000年开始CSS进入了第三个版本也就是俗称的CSS3,CSS3的特点是新功能以模块化的方式逐步加入规范。经过了20多年的发展,CSS3中已经添加了30多个模块。在本实验中我们将会为大家介绍CSS3中一些常用的功能。

CSS3为元素提供了新的边框和尺寸属性,通过这些属性可以实现一些以前必须通过JavaScript才能实现的功能。这里挑选三个比较有特色的属性为大家介绍。

  1. 贴图边框

传统的CSS只支持实线、虚线等简单风格的边框,但是现代网页设计中往往会对Html中的元素进行专门设计,使用贴图来代替简单风格的边框,这时候就需要使用贴图边框属性border-image

1.1 我们修改index.html为如下内容。

<!DOCTYPE html>
<html lang="zh-CN">
<style type="text/css">
    button {
        border: 40px solid transparent;
        border-image: url(bg.png) 40 stretch;
        background-color: #143A59;
        color: white;
        margin: 10px;
    }
</style>
<title>Web dev</title>
<body>
    <div>
        <button />
        <button> 较短的按钮 </button>
        <button> 较长的按钮。。。。。。。。。。 </button>
    </div>
</body>
</html>

1.2 刷新网页,会看到按钮会根据长度进行自动拉伸。

1.3  除了拉伸模式之外,border-image属性还支持复制模式。我们修改index.html样式部分的内容为如下.

<style type="text/css">
    button {
        border: 40px solid transparent;
        border-image: url(bg_round.png) 40 round;
        background-color: #143A59;
        color: white;
        margin: 10px;
    }
</style>

1.4 刷新网页,会看到按钮采用了复制模式。

  1. 轮廓

传统的CSS样式可以通过border属性在元素的外侧绘制边框。在CSS3中除了支持border属性之外,还支持outline属性来绘制轮廓。

2.1 我们修改index.html得内容为如下。

<!DOCTYPE html>
<html lang="zh-CN">
<style type="text/css">
    button {
        border: 10px solid red;
        outline: 10px solid green;
        background-color: #143A59;
        padding: 10px;
    }
</style>
<title>Web dev</title>
<body>
    <button></button>
    <button></button>
</body>
</html>

2.2 刷新网页。会看到按钮得外侧出现了两层颜色框。分别是borderoutline。但是我们可以发现outline存在重叠得现象。这是由于outline不计入元素得尺寸计算导致得。这时我们可以通过margin属性来加入outline尺寸。我们修改index.html样式部分的内容为如下。

<style type="text/css">
    button {
        border: 10px solid red;
        outline: 10px solid green;
        background-color: #143A59;
        margin: 10px;
        padding: 10px;
    }
</style>

  1. outline-offset

3.1 和border属性相比,outline除了不计算入尺寸之外。还可以通过outline-offset属性灵活调整在元素中得显示位置。我们修改index.html为如下内容。

<!DOCTYPE html>
<html lang="zh-CN">
<style type="text/css">
    button {
        background-color: #143A59;
        outline: 5px solid brown;
        outline-style: dotted;
        outline-offset: 5px;
        margin: 10px;
        padding: 10px; 
    }
</style>
<title>Web dev</title>
<body>
    <button style="width: 100px; height: 100px;"></button>
</body>
</html>

3.2 刷新网页。会看到outline和元素本体保留了一段距离。

3.3 outline-offset除了可以设置为正值之外,还可以设置为负值。设置为负值时,outline会显示在元素本体得内部,我们修改index.html样式部分的内容为如下

<style type="text/css">
    button {
        background-color: #143A59;
        color: white;
        outline: 5px solid white;
        outline-style: dotted;
        outline-offset: -10px;
        padding: 10px; 
    }
</style>

3.4 刷新网页。会看到outline出现在元素本体内部。

4.  渐变属性

上一个小节中我们学习了CSS3中通用得边框和轮廓属性。除了边框之外CSS3还为通用元素提供了多种背景设置属性。

对于需要渐变风格背景属性,传统CSS得做法是使用背景图片,这种方式需要额外得网络访问下载图片。同时图片拉伸得效果也存在清晰度得问题。因此CSS3中提供了linear-gradient线性渐变和radial-gradient放射性渐变属性。提供原生得渐变背景

  1. 线性渐变背景

在使用线性渐变背景色linear-gradient属性时,我们需要提供至少两个颜色,作为渐变色得过渡。

1.1 我们修改index.html为如下内容。

<!DOCTYPE html>
<html lang="zh-CN">
<style type="text/css">
    button {
        width: 100px; height: 100px;
    }
</style>
<title>Web dev</title>
<body>
    <button style="background-image: linear-gradient(red, orange);"></button>
    <button style="background-image: linear-gradient(red, orange,yellow, greenyellow, green);"></button>
</body>
</html>

1.2 刷新网页。会看到button的背景采用了多种颜色的渐变。

  1. 指定渐变背景方向

渐变色属性默认采用从上到下的渐变色,除了可以设置颜色之外,还可以可选设置渐变方向。渐变方向可以使用预设值,也可以使用具体角度值。

2.1 我们修改index.html为如下内容。

<!DOCTYPE html>
<html lang="zh-CN">
<style type="text/css">
    button {
        width: 100px; height: 100px;
    }
</style>
<title>Web dev</title>
<body>
    <button style="background-image: linear-gradient(to right, red, orange, yellow);"></button>
    <button style="background-image: linear-gradient(to bottom right, orange,yellow, greenyellow);"></button>
    <button style="background-image: linear-gradient(15deg, yellow, greenyellow, green);"></button>
</body>
</html>

2.2 刷新网页。会看到三种不同的渐变角度设置方式。

  1. 放射渐变背景

除了线性渐变背景色linear-gradient属性,CSS3还提供了放射性渐变属性radial-gradient,放射性渐变从中心开始像四周渐变。

3.1 我们修改index.html为如下内容。

<!DOCTYPE html>
<html lang="zh-CN">
<style type="text/css">
    button {
        width: 100px; height: 200px;
    }
</style>
<title>Web dev</title>
<body>
    <button style="background-image: radial-gradient(red, orange, yellow);"></button>
    <button style="background-image: radial-gradient(orange,yellow, greenyellow);"></button>
    <button style="background-image: radial-gradient(circle, yellow, greenyellow, green);"></button>
</body>
</html>

3.2 刷新网页。会看到默认使用radial-gradient属性时。渐变会从元素的中心开始,按照元素的长宽比,以椭圆的形式向外渐变,如果添加了circle参数,则会按照圆形的方式进行渐变。

5.  文本属性

  1. 单行文字剪裁模式

当元素中的单行文字内容过长,超过元素的显示尺寸时,CSS默认的处理方式是截断文字,在CSS3中提供了新的属性text-overflow来空值文本的剪裁,将这个属性设置为ellipsis之后超过部分的文字会用...进行代替。

1.1 我们修改index.html为如下内容。

<!DOCTYPE html>
<html lang="zh-CN">
<style type="text/css">
    button {
        width: 65px;
        overflow: hidden;
        margin: 10px;
    }
    button.ellipsis{
        text-overflow:ellipsis;
    }
</style>
<title>Web dev</title>
<body>
    <div>
        <button class="ellipsis">1234567890</button>
    </div>
    <div>
        <button>1234567890</button>
    </div>
</body>
</html>

1.2 刷新网页。会看到使用text-overflow:ellipsis属性后的单行超长文字的尾端处理会更加的优雅。

  1. 长文本的换行模式

对于多行文字来说,CSS默认的换行模式在两个词之间进行换行,但是对于一些超长单词的文本,这种模式会导致文本超出元素,严重影响用户体验,因此在CSS3中增加了word-wrap属性,用于设置文本的换行模式。

2.1 我们修改index.html为如下内容。

<!DOCTYPE html>
<html lang="zh-CN">
<style type="text/css">
    div {
        width: 65px;
        border: 1px solid #000000;
        margin: 20px;
    }
    div.wordwrap{
        word-wrap:break-word;
    }
</style>
<title>Web dev</title>
<body>
    <div>ThisIsATextWithoutSeparation</div>
    <div class="wordwrap">ThisIsATextWithoutSeparation</div>
</body>
</html>

2.2 刷新网页。会看到使用word-wrap:break-word属性后,即使是没有分词多行超长文字也不再会超出元素的边界范围。

  1. 网络字体

传统CSS只能使用本地字体,对于本地不存在的字体,会使用默认字体代替,但是由于客户端安装的字体不一致,会导致用户显示效果的不一致,因此CSS3中引入了@font-face关键字,用于指定存放在网络上字体,当客户端本地找不到字体时,会通过@font-face中的src地址下载字体文件以实现显示效果的一致性。

3.1 我们修改index.html为如下内容。

<!DOCTYPE html>
<html lang="zh-CN">
<style type="text/css">
    @font-face {
        font-family: Alibaba-PuHuiTi-Heavy;
        src:url(https://puhuiti.oss-cn-hangzhou.aliyuncs.com/AlibabaPuHuiTi/Alibaba-PuHuiTi-Heavy/Alibaba-PuHuiTi-Heavy.ttf) format('TrueType');
    }
    div {
        border: 1px solid #000000;
        margin: 20px;
        width: 300px;
    }
</style>
<title>Web dev</title>
<body>
    <div>让天下没有难做的生意</div>
    <div style="font-family: Alibaba-PuHuiTi-Heavy;">让天下没有难做的生意</div>
</body>
</html>S

3.2 刷新网页。会看到使用使用了Alibaba-PuHuiTi-Heavy字体的第二行文字,会在短暂的下载字体的白屏时间之后显示出来。

6.  其他属性

  1. 用户调整尺寸

在使用传统的CSS时,如果需要设计用户可以拖拽修改元素大小的功能,需要进行复杂的JavaScript编程,而在CSS3中增加了resize属性。通过这个属性可以非常方便的实现可拖动的元素。

1.1 我们修改index.html为如下内容。

<!DOCTYPE html>
<html lang="zh-CN">
<style type="text/css">
    button {
        border: 1px solid transparent;
        background-color: #143A59;
        color: white;
        padding: 10px;
        resize: both;
        overflow: hidden;
        width: 300px;
    }
</style>
<title>Web dev</title>
<body>
    <button> 可拖动的按钮 </button>
</body>
</html>·

1.2 刷新网页。会看到按钮右下角出现了可拖动的手柄,点击之后拖动可以改变元素的尺寸。

  1. 多图片背景

传统的CSS样式表可以使用background-image设置背景图片,在CSS3中background-image属性可以设置,分隔的多个背景图片,多个背景图片会按照从上到小的顺序按层次显示,如果在background-image中设置了多个图片,同样可以在background-positionbackground-repeat等属性中为不同的背景图片进行配置,在配置时也使用,来分隔多个背景图片的配置内容。

2.1 我们修改index.html为如下内容。

<!DOCTYPE html>
<html lang="zh-CN">
<style type="text/css">
    #head {
        background-image: url(https://img.alicdn.com/tfs/TB13DzOjXP7gK0jSZFjXXc5aXXa-212-48.png),
            url(https://img.alicdn.com/imgextra/i1/19999999999999/O1CN01FdwufD2Njasx4YEgj_!!19999999999999-2-tps.png);
        background-position: right bottom, left top;
        background-repeat: no-repeat, repeat;
        color: orange;
        font-size: 150px;
    }
</style>
<title>Web dev</title>
<body style="background-color: gray;">
    <div id="head" style="width: 500px;height: 300px;"> Head</div>
</body>
</html>

2.2 刷新之后,我们看到background-image中第一个url为阿里云Logo,显示在所有背景的顶层,background-position属性中的一个配置,指定Logo显示在右下角,background-repeat的第一个配置指定Logo不重复。

  1. 阴影属性

3.1 CSS3还为提供了元素和文字提供了阴影属性。分别是box-shadowtext-shadow阴影属性的设置格式为x偏移 y偏移 (模糊度) (颜色)。我们修改index.html为如下内容。

<html lang="zh-CN">
<style type="text/css">
    #head {
        width: 500px;
        height: 300px;
        text-align: center;
        line-height: 300px;
        font-size: 100px;
        color: aquamarine;
        background-color: green;
        box-shadow: 0px 0px 30px gray;
        text-shadow: 10px 10px 10px black;
    }
</style>
<title>Web dev</title>
<body>
    <div id="head"> Head</div>
</body>
</html>

3.2 刷新之后,我们看到文字阴影和元素阴影生效了。

3.3 CSS3中的阴影属性和background-image类似,也可以设置多个用,分隔的重叠阴影。体现更丰富的效果。我们修改index.html为如下内容。

<!DOCTYPE html>
<html lang="zh-CN">
<style type="text/css">
    #head {
        width: 400px;
        height: 200px;
        margin: 30px;
        text-align: center;
        line-height: 200px;
        font-size: 100px;
        color: aquamarine;
        background-color: green;
        box-shadow: 0px 0px 5px black, 0px 0px 30px gray;
        text-shadow: 0px 0px 10px white, 10px 10px 10px black;
    }
</style>
<title>Web dev</title>
<body>
    <div id="head"> Head</div>
</body>
</html>

3.4 刷新之后,我们看到多重阴影效果让元素的边缘更加的立体和丰富。

实验地址:https://developer.aliyun.com/adc/scenario/28cf95154348444ca3e86e54e8752d7d

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
22天前
|
前端开发 JavaScript 算法
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
transition过渡属性 早期在Web中要实现动画效果,都是依赖于JavaScript或Flash来完成。 但在CSS3中新增加了一个新的模块transition,它可以通过一些简单的CSS事件来触发元素的外观变化, 让效果显得更加细腻。简单点说,就是通过鼠标经过、获得焦点,被点击或对元素任何改变中触发, 并平滑地以动画效果改变CSS的属性值。 在CSS中创建简单的过渡效果可以从以下几个步骤来实现: 在默认样式中声明元素的初始状态样式; 声明过渡元素最终状态样式,比如悬浮状态; 在默认样式中通过添加
114 0
|
22天前
|
前端开发 JavaScript 算法
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
transform变形 css3在原来的基础上新增了变形和动画相关属性,通过这些属性可以实现以前需要大段JavaScript才能实现的 功能。 CSS3的变形功能可以对HTML组件执行位移、旋转、缩放、倾斜4种几何变换,这样的变换可以控制HTML组件 呈现出丰富的外观。 借助于位移、旋转、缩放、倾斜这4种几何变换,CSS3提供了transition动画。 transition动画比较简单,只要指定HTML组件的哪些CSS属性需要使用动画效果来执行变化,并指定动画时间,就可保证动画播放。 比transitio
80 1
|
22天前
|
前端开发 算法 Java
(CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
(CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
66 1
|
22天前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
Flex 布局 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。 2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。 一、Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。
182 1
|
22天前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
Animation属性 css3为Animation动画提供的几个属性如下: 属性名 属性值 animation-name 指定动画名称,该属性指定一个已有的关键帧定义。 animation-duration 指定动画持续时间。 animation-timing-funtion 指定动画变化速度。 animation-delay 指定动画延迟多长时间才开始执行。 animation-iteration-count 指定动画的循环执行次数。 animation:这是一个复合属性。
55 1
|
22天前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
position定位(核心) 我们讲盒模型的时候,提到了3个属性可以用来控制页面排版。 三大属性:position属性,display属性,float属性。 position 属性控制页面上元素间的位置关系。 display 属性控制页面元素是否显示或者是堆叠还是并排显示。 float 属性提供控制方法。 通过float这种控制方法,可以实现多栏布局,导航菜单等等。 position属性是干嘛用的?怎么用?有哪些属性值? position属性控制页面上元素间的位置关系,也就是排版。 怎么用?要知道怎么用
169 1
|
前端开发 流计算
|
前端开发
CSS的常见属性
1. css是cascading style sheet 层叠式样式表的简写。“层叠式”的意思,我们将慢慢的去理解。   1                2                         p{ 3                                 color:...
753 0
|
5月前
|
存储 自然语言处理 前端开发
抖音快手小红书虚拟评论截图生成器,模拟对话制作工具,html+js+css
这是一款纯前端实现的多平台虚拟评论生成器,支持抖音、快手、小红书风格,适用于产品演示与UI设计。采用Vanilla JS与Flexbox布局,利用IndexedDB存储数据,CSS Variables切换主题。
|
5月前
|
存储 前端开发 安全
病历单生成器在线制作,病历单生成器app,HTML+CSS+JS恶搞工具
本项目为医疗病历模拟生成器,旨在为医学教学和软件开发测试提供数据支持,严格遵守《医疗机构病历管理规定》。

热门文章

最新文章

  • 1
    Vue 3 + TypeScript 现代前端开发最佳实践(2025版指南)
  • 2
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
  • 3
    前端如何禁止用户打开 F12 开发者工具
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
  • 8
    React 中如何安装与使用 Tailwind CSS
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
  • 1
    React 中如何安装与使用 Tailwind CSS
    132
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    55
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    114
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    80
  • 5
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    66
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    182
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    169
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    92
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    51
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    89
  • 下一篇
    开通oss服务