首页 > 其他分享 >零基础学前端之CSS轮廓

零基础学前端之CSS轮廓

时间:2023-01-30 18:37:38浏览次数:47  
标签:style outline 样式 前端 width 轮廓线 轮廓 CSS

在表单的学习中,细心的同学发现了,当前密码框控件获得焦点时,浏览器默认会给它一个蓝色的轮廓,提高用户输入信息的体验。

这个轮廓线是通过给 input 元素添加 border 边框实现的吗?仔细观察,轮廓线向外延伸了,但是父元素 div 的高度并没有发生变化。可见,这个轮廓线不是通过 border 实现的。

零基础学前端之CSS轮廓_轮廓线

实际上,这个效果是通过 CSS 轮廓来实现的。轮廓,是在元素周围画的一条线,在边框之外,使元素视觉上 "突出" 显示。

CSS轮廓属性包括:outline-style 轮廓样式、outline-color 轮廓颜色、outline-width 轮廓宽度、outline-offset 轮廓偏移、outline 轮廓简写。

零基础学前端之CSS轮廓_CSS_02

首先学习一下 outline-style 轮廓线样式属性,它的值有:

dotted - 定义一个点状轮廓。

dashed - 定义一个虚线轮廓。

solid - 定义一个实线轮廓。

double - 定义一个双线轮廓。

none - 表示无轮廓。

hidden - 定义一个隐藏的轮廓。

在这个已有的 HTML 文件里添加四个 p 元素,分别定义 class 属性值为 a,b,c,d。填入一些文本。再创建一个 outline-style.css 文件,在 html 中引入样式文件。

CSS中,定义 p 选择器,声明样式:border: 5px solid #4CAF50。定义 p.a 选择器,声明样式 outline-style: dotted。定义 p.b 选择器,声明样式 outline-style: dashed。定义 p.c 选择器,声明样式 outline-style: solid。定义 p.d 选择器,声明样式 outline-style: double。

HTML
<p class="a">
一个点状轮廓
</p>
<p class="b">
一个虚线轮廓
</p>
<p class="c">
一个实线轮廓
</p>
<p class="d">
一个双线轮廓
</p>
CSS
p {
border: 5px solid #4CAF50;
}

p.a {
outline-style: dotted;
}

p.b {
outline-style: dashed;
}

p.c {
outline-style: solid;
}

p.d {
outline-style: double;
}

零基础学前端之CSS轮廓_轮廓线_03

我们看,绿色边框外的轮廓线就呈现出来了!

接下来学习 outline-width 轮廓线宽度属性,它的值有:

thin:一般为1px。

medium:一般为3px。[ˈmiːdiəm]

thick:一般为5px。[θɪk]

一个特定的尺寸:以 px、em 为单位。比如 10px。

给 p.a 添加样式 outline-width: 20px,给 p.b 添加样式 outline-width: thick,给 p.c 添加样式 outline-width: medium,给 p.d 添加样式 outline-width: thin。

这样,四条轮廓线都有了宽度。

你肯定发现了问题,第一个段落轮廓覆盖了其他元素,但是元素的高度并没有发生变化,这就是轮廓与边框不同的地方!轮廓是在元素的边框之外绘制的,并且可能与其他内容重叠。轮廓不是元素尺寸的一部分,元素的总宽度和高度不受轮廓宽度的影响。

接下来学习 outline-color 轮廓线颜色属性,它的值可以是颜色名称、十六进制颜色值或RGB颜色值。

给 p.b 添加样式 outline-color: red,

给 p.c 添加样式 outline-color: blue,

给 p.d 添加样式 outline-color: grey。

我们看,轮廓线有了颜色!

和边框一样,轮廓也可以应用属性简写:outline。它用于设置 outline-width,outline-style,outline-color 三个属性,其中 outline-style 必须设置。

我们用 outlline 属性修改一下轮廓样式。

第一段落轮廓线样式改为 outline: dotted 20px。

第二个改为 outline: dashed thick red。

第三个改为 outline: solid medium blue。

第四个改为 outline: double thin grey。

再看一下,轮廓线效果是一样的!

最后,我们学习轮廓线最后一个属性 outline-offset,它用来设置轮廓和元素之间的空隙,这个空隙是透明的。

比如,给 p.c 添加样式 outline-offset: 5px。

此时,这里就有了 5 像素的空隙。

标签:style,outline,样式,前端,width,轮廓线,轮廓,CSS
From: https://blog.51cto.com/u_14573321/6027579

相关文章

  • postcss-px-to-viewport适配屏幕大小
    1、postcss-px-to-viewport适配的介绍postcss-px-to-viewport是一个插件,用起来非常方便,安装一下插件,搞个配置文件就可以直接用了。2、postcss-px-to-viewport适配的......
  • JSP 前端大文件上传
    ​ 4GB以上超大文件上传和断点续传服务器的实现随着视频网站和大数据应用的普及,特别是高清视频和4K视频应用的到来,超大文件上传已经成为了日常的基础应用需求。但是在......
  • WebUploader 前端大文件上传
    ​ 一、概述 所谓断点续传,其实只是指下载,也就是要从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了。一般断点下载时才用......
  • 视频直播源码,CSS 修改滚动条样式、信封边框样式
    视频直播源码,CSS修改滚动条样式、信封边框样式CSS全局修改滚动条样式  ::-webkit-scrollbar{ /*滚动条整体样式*/ width:4px; /*高宽分别对应横竖滚动条的......
  • css总结
    目录CSS简介一.网页样式1.1引入方法1.1.1内联样式1.1.2内部样式表1.1.3链接外部样式1.1.4导入外部样式1.2基础语法1.3选择器的分类1.3.1标记选择器1.3.2通用选择器对所......
  • CSS布局display值inline、block、inline-block区别
    inline前后不会有换行,block前后会有换行,inline-block前后不会有换行,但内部会换行且可以设置高宽。,如下图所示: ......
  • 第五节:Less、Scss简介以及核心用法总结
    一.Less简介       二.Less核心用法       三. Scss简介      四. Scss核心用法        !作 ......
  • 前端绘制svg机房布局的时候使用svg图当设备,并可以点击的时候,只能点击线条轨迹区域问题
    如图所示的svg图  只能点击蓝色线条区域,中间透明区域无法点击。尝试了网上提供的在svg外面加a标签的方法,该方法只能在争产情况下生效。当该svg图放在另一个svg拓扑中......
  • HTML5 前端大文件上传
    ​ 之前仿造uploadify写了一个HTML5版的文件上传插件,没看过的朋友可以点此先看一下~得到了不少朋友的好评,我自己也用在了项目中,不论是用户头像上传,还是各种媒体文件的上......
  • 用html2canvas.js 将前端HTML页面生成图片
    首先去html2canvas官网下载html2canvas.js文件html2canvas官网地址:http://html2canvas.hertzen.com/HTML<divid="host_file"class="container"><divid="view"c......