无懈可击的CSS圆角技术

css教程制作css圆角边框(兼容全部浏览器) css制作的圆角框,兼容全部浏览器,大家参考使用吧 立即下载
要一个宽度不固定的框,事情变得有些复杂了。宽度不固定,就意味着这个框在水平和垂直方向都有足够灵活的变化。

  为什么说这更难一些呢?因为它需要对四张图片的合适安置——每个圆角用一张。每个圆角都要独立出来,以便框能够在各个方向伸展。于是,四张图片就意味着需要四个HTML对象来作为背景图片的载体。

  有一些实现办法包括在样式表中使用“生成内容”,即使用:before和:after伪类来为单独的一个对象加上多张背景图。这种方法的问题在于,在编写本书的时候,Internet Explore(IE)还不支持“生成内容”,因些相当大数量的用户就将无法看到圆角效果。

  那怎么办呢?如果一个固定的宽度已经预先确定,那就能很容易地使用本章上一节中给出的那种方法,只背景图片:一张用于显示顶部的左右圆角,另一张显示底部的左右圆角。准备好两个HTML对象来做图片载体并不是难题。可是当要求实现宽度不固定的框时,为了让IE用户也能看到一样的设计效果,那就是加上额外的HTML代码了。

  圆角化

  以下是Web标准的能人,也是本书的技术编辑Ethan Marcotte在解决Browse Happy网站所面临这样的问题时的做法(图5-15) http://browsehappy.com


  图5-15 Browse Happy是一个旨在帮助人们学习使用能取代Internet Explorer 在Web标准兼容的浏览器的网站

  Ethan 用了一个圆角框来显示用户“已经切换使用”的某个兼容Web标准的浏览器,包括软件名称和图标(图5-16)。

推荐好文:无懈可击的CSS圆角技术

  图5-16 这个圆角矩形框可以往任何方向扩展

  Ethan 没有给框设定固定的宽度,而使用了一种对前面提到过的“滑动门”技术的变通方法,使得当内容文字增多(或增大)时,框在水平和竖直方向都能伸缩(图5-17)。

推荐好文:无懈可击的CSS圆角技术

  图5-17 当文字变大时,框会在水平和竖直方向扩展,同时能保持圆角形状不变

  我们现在来基于Ethan所使用的技术,构建另一个示例,它将是一个具有真正灵活性的框,能容纳其内部的任何东西。

1.HTML代码结构

  如我先前提到过的,要实现一个在每个方向都灵活的框,面临的不幸事实是我们需要添加额外的代码。这些额外的代码是独立引用框的四角的图片所必须的,这样它才能根据需要在四个方向扩展。

  注意:因为有些地方已经超过了本章要讨论的范围,所以为了让例子简单,这里对HTML代码做了一些修改。本来,这个圆角矩形框是一个“定义列表”对象的一部分,该列表还包括有“切换人”的姓名以及其它信息。这是一个运用定义列表的聪明又巧妙的方法--可以去查看http://browsehappy.com 的页面源码获知更多细节。

  要谨记,我们应该使用最少的HTML对象来作为背景图片的载体,以下是我们创建的HTML代码: 

<div class="container">  
  <p class="desc">This box is:</p>  
  <p class="link"><em><a href="/browsers/firefox/">Indestructible!</a></em></p>  
</div>

  一个作为容器的<div>和紧随其后的一个段落对象将作为前两个载体。要凑足四个,我们将链接“Indestructible!" 用第二个段落对象以及(这里引入了一个有争议的额外HTML对象)一个<em>对象包围起来。这里我使用<em>是因为,从技术角度来讲,我也打算让它个链接表达一种强调的意思。

  同时,我悄悄地加上这个对象。这是我打算避免的事情,但是本例的情况下,我们需要这个第四个对象,以便引入创建圆角的必要背景图片(图5-18)。

推荐好文:无懈可击的CSS圆角技术

  图5-18 我们建的框的HTML代码给我们提供了四个可用作背景图片载体的对象

  结构图:


  2.图片的策略

  虽然我们需要引用四次背景图片(一个角一次),但可以借鉴Browse Happy网站所用的巧妙方案,它只需要用到两张GIF图片。我们先来看看图片本身,就能理解这种方法了。

  如图5-19所示,rounded-left.gif 是一张9个像素宽的GIF图片,包括左上方和左下方圆角。我们将它创建得比预期的高很多,以便能容纳大的内容量。

推荐好文:无懈可击的CSS圆角技术

  图5-19 这张名为rounded-left.gif 的图片包括了左上和左下圆角

  再如图5-20 ,rounded-right.gif 是一张类似的图片:它负责显示右边的上下两个图角,以及上,右和下边线。这张图片和rounded-left.gif 的高度相同,并且也比原本所需的尺寸要宽很多。

推荐好文:无懈可击的CSS圆角技术

  图5-20 rounded-right.gif 包括右上和右下圆角。这张图还带有框的上下边线

  现在我们来定位这此图片——并且这里就是精妙之处。图片rounded-left.gif 将对齐于top以形成左上方的角(图5-21),然后再次被使用,对齐于bottom,形成左下方的角。

推荐好文:无懈可击的CSS圆角技术

  图5-21 当依附到顶边时,除非框增到足够大而被暴露,否则图片下面的圆角是显示不出来的

  只要框不会超过图片高,那么那个没有用上的,隐藏起来的圆角就不会显示((这也解释了为什么我们开始时将图片做得足够高)。相应的,对于rounded-right.gif,也会被使用两次——作为右上和右下圆角。

  运用最好的判断力来决定将这些图片做得多高和多宽,当然主要是取决于框内部会放些什么类型的内容。留出一些多作空间,以便应付意料之外的文字大小和内容量。

  现在我们继续操作,给HTML代码应用样式,并且将所有的设计整合在一起。

  3.应用样式 

  因为不想给框赋予一个固定的宽度,并且还希望那些圆角总是紧挨着框中的内容,所以浮动这个容器。将容器浮动能防止框自动变得和窗体(或者其他外围容器对象)一样宽。取而代之,框里面的内容的宽度将决定框伸展多宽。

.container {
  float: left;
  color: #666;
  }

  除了将框左浮动,我们还设定了框中文本的基本颜色:深灰色。

  接下来,按照我们的策略将这两张背景图片放到HTML代码中那四个可用的对象上。首先将右上角作为外围主窗口的背景,将rounded-right.gif依附于其右上位置,使用图片的上半部分。

.container {
  float: left;
  color: #666;
  background: url(img/rounded-right.gif) top right no-repeat;
  }

  注意我们是通过将图片定位到对象的右上方来设置背景。

  结果如图5-22,rounded-right.gif 的上面部分显示出来成为了整个容器的背景。

推荐好文:无懈可击的CSS圆角技术

  图5-22 将图片对齐到右上角显示出了圆角效果

  按照代码顺序,容器之后的对象就是第一个段落,我们使用了一个class="desc"(desc表示description)来标记它。然后我们将rounded-left.gif对齐到top和left,它的上半部分作左上圆角。这里我们还将<p>对象的默认margin和padding都高为0。稍后我们再根据需要加上全适的padding值。

.container {
  float: left;
  color: #666;
  background: url(img/rounded-right.gif) top right no-repeat;
  }
.desc {
  margin: 0;
  padding: 0;
  background: url(img/rounded-left.gif) top left no-repeat;
  }

  加上第二张背景图片后的结果见图5-23,左上圆角加好了。

推荐好文:无懈可击的CSS圆角技术

  图5-23 将图片对齐于左上角后,部分圆角效果出来了。

  接下来,添加左下圆角,通过给第二个段落(我们给它标记了class="link")指定rounded-left.gif的下面部分作为背景。这张图的上面部分,我们之前通过将图片对齐于top和left来显示,现在则将它对齐于bottom和left,以显示出下面的圆角。使用的间隔。第二个段落的三个侧边加了9px的padding,以此给内容和框的边界之间添加合适的间隔。第二个段落的左侧也加了9px的padding.这个值和图本身的宽度相同,以便让"Indestructible!"链接文字后面的圆角能显露出来。

.container {
  float: left;
  color: #666;
  background: url(img/rounded-right.gif) top right no-repeat;
  }
.desc {
  margin: 0;
  padding: 9px 9px 0 9px;
  background: url(img/rounded-left.gif) top left no-repeat;
  }
.link {
  margin: 0;
  padding: 0 0 0 9px;
  background: url(img/rounded-left.gif) bottom left no-repeat;
  }

  到目前为止的结果见图5-24,四个圆角中有三个已经被加在了正确位置,还剩最后一个了。

推荐好文:无懈可击的CSS圆角技术

  图5-24 通过重用rounded-left.gif 但是对齐到下方,我们加上了第三个圆角

  最后一张背景图将附着在嵌套在第二个段落对象里面的<em>对象上。我们将rounded-right.gif对齐于bottom和right,显示图片的下面部分,另外好包括一定padding值,以便将框中的文字和边线有均匀的间隔。大多数浏览器会将<em>包围起来的文字显示为斜体,所以我们还要覆盖这个属性,显示正常的字体。

.container {
  float: left;
  color: #666;
  background: url(img/rounded-right.gif) top right no-repeat;
  }
.desc {
  margin: 0;
  padding: 9px 9px 0 9px;
  background: url(img/rounded-left.gif) top left no-repeat;
  }
.link {
  margin: 0;
  padding: 0 0 0 9px;
  background: url(img/rounded-left.gif) bottom left no-repeat;
  }
.link em {
  display: block;
  padding: 0 9px 9px 0;
  font-style: normal;
  background: url(img/rounded-right.gif) bottom right no-repeat;
  }
.container a {
  font-size: 130%;
  color: #e70;
  }

  通常情况,<em>是一个内联对象,不会自动扩展直至和父容器宽度相同,所以不能用于背景图片的载体。但能过添加规则display: block;,将<em>变成一个块级对象,强制让它内部的任何内容都延伸到框的边界,就能解决这个问题了。此外我们将框中的链接文字设置为橙色,并且比正常情况大——因为,不可破坏的链接就该是这样子。

  图5-25是最后完成的框的效果,通过对齐两张背景图片,创建好了四个圆角。

推荐好文:无懈可击的CSS圆角技术

  图5-25 这就是我们的成品,“牢不可破”的矩形框

  4.牢不可破的特性

  正如Browse Happy例子那样的情况,请注意我们的圆角矩形框,根据其内部的文字大小和内容量的变化,能够在所有方向自由扩展和收缩。真正的牢不可破(图5-26)


  图5-26 不管有多大的文字还是多少内容,框都可以扩大再扩大

中国.网页开发.网

 
LTspice introduction - 2 LTspice的界面 LTspice的界面主要有两个:Schematic Capture和Waveform Viewer Schematic Capture 它主要是用来画电路图的,画完电路图之后,添加一些dot 命令同时选择一些仿真的参数,点击执行(Run)Waveform Viewer 如果你的仿真不是op point的话,一个都会打开它,在它里面你可以画图相应的图形。 有两种方式可以在Viewer 阅读详情

相关推荐

用运放和乘法器DIY忆阻模拟器:从理论到Multisim仿真实战

本文详细介绍了如何利用运放和乘法器DIY忆阻模拟器,从理论基础到Multisim仿真实战。通过解析忆阻器的数学模型,设计关键电路模块,并完成仿真验证,帮助电子爱好者低成本实现忆阻器功能。文章还提供了实际调试中的常见问题解决方案和进阶应用建议,适合神经形态计算和非易失性存储领域的研究者参考。

weixin_28718345的博客 418

网页前端知识汇总(一)——CSS如何为网页图片设置圆角效果

是不是有的没有玩过程序的小伙伴浏览网页时会发现有的图片是圆角的,自己保存到本地却是直角的?其实图片性质没有改变,改变的只是网页显示,用遮罩层(CSS处理)后的显示效果,那这些图片的圆角效果是怎么设置的呢?就这样,图片变成一个圆形图片了,具体角度参数可以根据自己喜好左右调整。CSS能改变的只是显示效果,并不能改变图片的本质属性。这样网页图片的大小就和父级DIV一样大小了。你可以用CSS约束他大小,如。

XYCMS博客家园 2999

MacOS蓝牙连接疑难杂症:从基础排查到高级修复全攻略

本文提供了一份全面的MacOS蓝牙故障排查与修复指南。从基础的菜单栏检查、终端命令诊断,到软/硬重启蓝牙服务、删除配置文件,再到使用blueutil工具、重置NVRAM等高级方法,系统性地解决了蓝牙无法连接、连接不稳定等常见问题。最后还分享了环境干扰排查、预防措施及硬件故障自检方法,帮助用户彻底解决Mac蓝牙连接难题。

weixin_29271263的博客 450

CSS制作类似浏览器标题栏的圆角样式

制作一个类似浏览器标题栏的tab切换效果CSS样式 圆弧的样式由 元素本身 + 左右两个小角 组成 首先,将元素设置 相对定位 + 圆角边框,以及宽高设为: position: relative; //相对定位 width: 120px; height: 40px; line-height: 40px; text-align: center; background-color...

sunshineTing2的博客 1383

6层高速PCB设计实战:BGA布局与阻抗匹配关键解析

本文深入解析6层高速PCB设计中BGA布局与阻抗匹配的关键技术。通过实战经验分享,详细介绍了六层PCB层叠结构的选择与优化、BGA器件布局技巧、阻抗匹配的实战经验以及高速布线技巧,帮助工程师提升PCB设计水平,确保信号完整性和电源完整性。

weixin_28481133的博客 368

SpringBoot实现快速导入EXCEL

MaterialMonitorController.java @Log(title = "物料监测", businessType = BusinessType.IMPORT) @RequiresPermissions("system:materialMonitor:import") @PostMapping("/importData") @ResponseBody ...

LEN程序员的一生 4817

css怎样用 css实现圆角的几种方法

首先要在htmL代码中引入css文件,方法是将如下代码添加到head中。第四、定义12个背景色:左上角4个,右上角4个,右下角4个,左下角4个。此选择器的特征为样式名前有定义符"#",可为指定id的元素附加样式。此种选择器的样式名称前没有任何符号,可以给某种容器或标签附加样式。制作四个圆角的图片,然后用css定义。第一、直接写css代码:border-radius。css提供4种选择器,分别由不同的符号表示。body{样式}是为body附加样式。通过组合可以在同一对象应用多种样式。有四种方法可以实现圆角。

hdxx2022的博客 8122

Allegro输出光绘文件规范

添加钻孔表的具体步骤为:1.通过屏幕右边的Visibility选项的Views列表,将Drill层打开2.将Visibility选项中的PIN和Via选项都选中,见下图所示: 参数设好之后关闭NC Drill/Parameters窗口,输出数控机床钻孔文件的命令菜单为:Manufacture=>NC=>NC Drill…,打开的窗口如下: 输出数控机床钻孔文件的具体步骤为: 上图是光绘输出的层控制窗口,还有一个窗口是输出参数的控制窗口,我们通过点击上图的第二个列表项General Parameters来

axingxiansen的博客 2809

CSS实例:无懈可击的CSS圆角技术

处理圆角需要对四张图片的合适安置—每个圆角用一张。每个圆角都要独立出来,以便框能够在各个方向伸展。于是,四张图片就意味着需要四个HTML对象来作为背景图片的载体...是不是觉得有点难度呢?嘿嘿,下文会带您详细的说明~要一个宽度不固定的框,事情变得有些复杂了。宽度不固定,就意味着这个框在水平和垂直方向都有足够灵活的变化。    为什么说这更难一些呢?因为它需要对四张图片的合适安置——每

jacob的专栏 667

【一看就会】Autoware.universe的“规划”部分源码梳理【0】——Planning综述(持续更新中)

单独开一篇planning综述,作为整个规划系列的开篇。本篇综述会持续更新,希望能帮助大家更好的整体理解规划部分。这个部分会持续更新。

weixin_48386130的博客 1966

【Codex】Codex安装+DeepSeek API接入;无需登录,手把手带你使用codex

好多人使用codex时都卡在验证码登录那一步,今天就来介绍一种方法,不需要登录ChatGPT的账号,自然也就不需要手机验证码了;接入DeepSeek的api,一样可以丝滑使用codex;记录从零开始安装使用codex以及DeepSeek API接入的整个过程。不需要登录openAI;

AnChenliang_1002的博客 3541

[转]CSS技巧:无懈可击的CSS圆角技术

      要一个宽度不固定的框,事情变得有些复杂了。宽度不固定,就意味着这个框在水平和垂直方向都有足够灵活的变化。   为什么说这更难一些呢?因为它需要对四张图片的合适安置——每个圆角用一张。每个圆角都要独立出来,以便框能够在各个方向伸展。于是,四张图片就意味着需要四个HTML对象来作为背景图片的载体。   有一些实现办法包括在样式表中使用“生成内容”,即使用:before和:aft...

weixin_33850015的博客 264

Python从0到100(二):Python语言介绍及第一个Pyhon程序

Python从0到100(二):Python语言介绍及第一个Pyhon程序。与C和Java比,Python的学习成本和难度曲线不是低一点,更适合新手入门,自底向上的技术攀爬路线。

拥有百余位万粉技术博主、200余位可合作代发博主,私域技术社群规模达千人,商务合作私信 5440

html的圆角效果,css实现圆角效果总结

有棱有角的方框给人一种整齐严谨的感觉,如果把方框的角改成圆角,则会给人舒服柔和的感受。如果你看不惯Div+Css布局中的一生硬的边框,大可将其改成圆角的。具体如何实现呢?综观网上的方法,大概有以下几种:利用块对象堆砌。一般是用b标签。利用背景图像定位遮挡四个角。使用javascript来处理。第一种方法实例:<html><head><title>CSS圆角效果</title><meta http-...

weixin_39635657的博客 570

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

无懈可击的圆角技术

要一个宽度不固定的框,事情变得有些复杂了。宽度不固定,就意味着这个框在水平和垂直方向都有足够灵活的变化。为什么说这更难一些呢?因为它需要对四张图片的合适安置——每个圆角用一张。每个圆角都要独立出来,以便框能够在各个方向伸展。于是,四张图片就意味着需要四个HTML对象来作为背景图片的载体。有一些实现办法包括在样式表中使用“生成内容”,即使用:before和:after伪类来为单独的一个对象加上多张背

141

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

css内凹圆角

1、border-radius 知识点: 1.1、简单语法: border-radius:length/persentage; js语法:object.style.borderRadius="5px" border-radius 属性是一个简写属性,用于设置四个 border-*-radius 属性。4个角(顺时针方向,左上,右上,右下,左下),每个角都有两个半径,水平半径和垂...

西洲 1万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

CSS圆角

在制作网页的过程中,有时我们可能需要实现圆角的效果,以前的做法是通过切图(将设计稿切成便于制作成页面的图片),使用多个背景图像来实现圆角。在 CSS3。

2401_82561004的博客 2454

CSS中的圆角和阴影

在 CSS3 中,新增了圆角边框样式,这样我们的盒子就可以变圆角了。(必需值)水平阴影(horizontal shadow),可以为负值。(必需值)水平阴影(horizontal shadow),可以为负值。(必需值)垂直阴影(vertical shadow),可以为负值。(必需值)垂直阴影(vertical shadow),可以为负值。(可选值)将外(盒子的背面)阴影改为内(盒子之上)阴影。CSS3 中新增了盒子阴影,可以使用。属性为盒子添加阴影。(可选值)阴影模糊程度。(可选值)阴影模糊程度。

小何代码咖啡馆 3791

圆外边框旋转html,CSS圆角实例:无懈可击的CSS圆角边框

1HTML代码结构要一个宽度不固定的框,事情变得有些复杂了。宽度不固定,就意味着这个框在水平和垂直方向都有足够灵活的变化。为什么说这更难一些呢?因为它需要对四张图片的合适安置——每个圆角用一张。每个圆角都要独立出来,以便框能够在各个方向伸展。于是,四张图片就意味着需要四个HTML对象来作为背景图片的载体。有一些实现办法包括在样式表中使用“生成内容”,即使用:before和:after伪类来为单独的...

weixin_42520796的博客 529

CSS实例:无懈可击的CSS圆角边框(自由伸缩)

要一个宽度不固定的框,事情变得有些复杂了。宽度不固定,就意味着这个框在水平和垂直方向都有足够灵活的变化。  为什么说这更难一些呢?因为它需要对四张图片的合适安置——每个圆角用一张。每个圆角都要独立出来,以便框能够在各个方向伸展。于是,四张图片就意味着需要四个HTML对象来作为背景图片的载体。  有一些实现办法包括在样式表中使用“生成内容”,即使用:before和:after伪类来为单独的一

twosecond 2088
上一篇: 网页中CSS样式切换的实现
下一篇: 去掉链接虚线框两种方法:样式表法和HTC法
shulei521
博客等级 码龄19年 44粉丝 39原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值