CSS圆角进化论

这篇具有很好参考价值的文章主要介绍了CSS圆角进化论。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 CSS圆角发展过程

大致经历了3个阶段,包括:

  1. 背景图片实现圆角
  2. CSS2.0+标签模拟圆角
  3. CSS3.0圆角属性(border-radius属性)实现圆角

☛背景图片实现圆角:==使用背景图片实现圆角的方式很多,实现的方式和圆角的切图方式关系密切

  实现方式有多种,主要讲解2种:
   (一)宽度固定,高度自适应

      实现关键点,4个块级标签构成
      圆角矩形容器(box)—设置固定宽度,同圆角宽度
      顶部圆角(radius-top)—使用背景图片实现顶部圆角
      内容( content )—放置主体内容
      底部圆角( radius-bottom )—使用背景图片实现顶部圆角

   (二)宽度和高度均自适应

      实现关键点,5个标签构成
      圆角矩形容器(box)—1.上下内边距大小至少设置为圆角高度;2.相对定位;3.放置内容
      4个圆角—4个标签,1.分别设置各个圆角背景图片;2.绝对定位于box的4个角

当然,实现的方法还有很多,比如滑动门方法、浮动定位法等

    优势:无需过多无意义标签、能够实现个性化圆角
    劣势:增加了HTTP请求和页面字节数

  1.在以IE6和IE8占主流的今天,考虑到浏览器兼容性,CSS3.0方式设置圆角在Web应用中,暂且还没有得到完全普及
  2.无需多余无意义标签,能够实现个性化的圆角,将设计师的设计完美的以代码实现,使得用背景图片实现圆角仍旧是实现圆角的主流方法

  ☛CSS2.0+标签模拟圆角: border属性+标签模拟:border属性实现圆角颜色,标签模拟圆角弧度,圆角像素越大,所需标签越多

    1.所需模拟标签数=圆角像素
    2.分析各像素圆角特点,讲解实现思路,再使用代码实现QQ邮箱登录页的登录圆角

    优势:纯CSS代码,易于维护,体积小
    劣势:圆角像素越大,无意义标签越多数,圆角越发呆板,只能实现纯色圆角,局限性大

☛CSS3.0圆角属性实现圆角: 圆角属性+边框属性实现圆角:border属性设置边框样式(颜色、粗细、样式),border-radius属性实现圆角

注意:使用css3.0实现圆角,各浏览器存在显示差异,需通过私有前缀解决:-ms-(IE)、-moz-(FF)、-webkit-(谷歌,safari),特别的,各浏览器对border-radius属性支持较好,不写私有前缀也能正常显示,但像线性渐变属性linear-gradient,就必须写私有前缀,否则就会出现显示差异

    优势:专用CSS代码,易于维护,体积小,圆角自然圆滑,适合扁平化圆角实现
    劣势:IE8及以下版本不支持CSS3.0,存在兼容性问题,对于个性化圆角实现上存在局限性

  目前,CSS3.0已被广泛应用于移动APP应用,不考虑IE8及以下版本兼容问题,一些网站已经将圆角属性广应用到了Web端,案例中的腾讯登录框就使用了border-radius属性实现了圆角,但该圆角在IE8中显示不出来,而呈现为直角

实战项目案例:

效果图

CSS圆角进化论文章来源地址https://www.toymoban.com/news/detail-499389.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>登录QQ邮箱</title>
<link href="css/login.css" type="text/css" rel="stylesheet" />
</head>
<body>
<div id="wrap">
  <div id="header">
          <h1></h1>
          <div class="topnav">
               <div class="top_radius"></div>
               <div class="content txt_align_r">
          <p class="margin_r_10">
            <a href="#">English</a>|<a href="#">反馈建议</a>|<a href="#">帮助中心</a>|<a href="#">企业邮箱</a>
          </p>
         </div>
               <div class="btm_radius"></div>
          </div>
     </div>
     <div id="mainbody">
          <div class="left"><img src="data:images/left_cont.gif" width="383" height="290" /></div>
          <div class="right">
               <div class="radius_border_1"></div>
               <div class="radius_border_2"></div>
               <div class="loginbox">
                 <h2>登录QQ邮箱</h2>
                 <ul>
                    <li>
              <input type="text" value="邮箱账号或QQ号码" class="account" />
              <input type="button" value="@qq.com" class="mail_btn" /></li>
                    <li>
              <input type="text" value="QQ密码" />
            </li>
                 </ul>
               <img src="data:images/login_txt.gif" width="312" height="171" /></div>
               <div class="radius_border_2"></div>
               <div class="radius_border_1"></div>
          </div>
     </div>
     <div id="footer">
          <div class="content txt_align_c">
          <span class="l_top_radius"></span>
          <span class="r_top_radius"></span>
          <span class="l_btm_radius"></span>
          <span class="r_btm_radius"></span>
          <p class="line-height_24"><a href="#">关于腾讯</a>|<a href="#">服务条款</a>|<a href="#">客服中心</a>|<a href="#">联系我们</a></p>
          </div>
          <p class="txt_align_c">© 1998 - 2014 Tencent Inc. All Rights Reserved</p>
     </div>
</div>
</body>
</html>
@charset "utf-8";
/* common style */
*{margin:; padding:; font-size:12px; font-family:Verdana, Geneva, sans-serif,"宋体"; list-style:none;}
a{text-decoration:none; color:#04309b;}
a:hover{text-decoration:underline;}
.txt_align_c{text-align:center;}
.txt_align_r{text-align:right;}
.margin_r_10{margin-right:10px;}
.line-height_24{line-height:24px;}
 
#wrap{width:800px; margin:40px auto;}
#header,#mainbody,#footer{width:100%; overflow:hidden;}
#header h1{background:url(../images/logo.gif) no-repeat; height:43px; width:200px; float:left;}
 
/*背景图像实现固定宽度圆角*/
.topnav{float:right; width:595px; margin-top:5px;}
.top_radius{width:100%; overflow:hidden; background:url(../images/t_radius_595.gif) no-repeat; height:3px;}
.btm_radius{width:100%; overflow:hidden; background:url(../images/b_radius_595.gif) no-repeat; height:3px;}
 
.content{background:#ebf3ff; padding:5px; position:relative;}
.content p{color:#d0ccda;}
.content p a{margin:0 5px;}
 
/*背景图像实现宽度、高度自适应圆角*/
.l_top_radius,.r_top_radius,.l_btm_radius,.r_btm_radius{width:4px; height:3px; position:absolute;}
.l_top_radius{background:url(../images/l_top_radius.gif) no-repeat; left:; top:;}
.r_top_radius{background:url(../images/r_top_radius.gif) no-repeat; right:; top:;}
.l_btm_radius{background:url(../images/l_btm_radius.gif) no-repeat; left:; bottom:;}
.r_btm_radius{background:url(../images/r_btm_radius.gif) no-repeat; right:; bottom:;}
 
#mainbody{margin-top:22px;}
.left{float:left;}
 
/*CSS2.0+标签实现圆角--登录模块外框*/
.right{float:right; width:346px;}
.radius_border_1{margin:0 2px; height:1px; background:#acc3e3;}
.radius_border_2{margin:0 1px; height:1px; background:#edf6ff; border-left:1px solid #acc3e3; border-right:1px solid #acc3e3;}
.loginbox{background:#edf6ff; border-left:1px solid #acc3e3; border-right:1px solid #acc3e3; padding:20px;}
.loginbox h2{color:#28456f; font-size:14px;}
.loginbox ul{margin-top:10px;}
.loginbox li{margin-bottom:10px;}
/*CSS3.0圆角属性实现表单元素圆角*/
.loginbox li input{border:1px solid #9dadc6; border-radius:2px; height:32px; padding:0 5px; color:#888; width:292px;}
.loginbox li input.account{width:182px; border-right:1px solid #d5deed; 
border-top-right-radius:; border-bottom-right-radius:; 
background:-moz-linear-gradient( top,#ddd 0%,#eee 10%,#fff 20%); 
background:-webkit-linear-gradient( top,#ddd 0%,#eee 10%,#fff 20%);  
background:-ms-linear-gradient( top,#ddd 0%,#eee 10%,#fff 20%);}
.loginbox li input.mail_btn{
  width:110px; 
  height:34px; 
  border-top-left-radius:; 
  border-bottom-left-radius:; 
  background:url(../images/select.gif) 90px center no-repeat #fbfbfb; 
  color:#504c4d; 
  text-align:left; 
  cursor:pointer;
}
#footer{margin-top:27px;}
#footer p{line-height:24px; color:#888;}
#footer .content p{color:#d0ccda;}

到了这里,关于CSS圆角进化论的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • css圆角边框怎么设置

    css+div是页面设计的法宝,通过css+div能够设计出各种效果!本文给大家简单介绍下css圆角边框怎么设置,大家可以参考,也可以直接拿过去使用,当然要修改下具体的参数。 border-radius 属性可以接受一到四个值。规则如下: 圆角边框(border-radius)的基本用法:border-radius 属性

    2024年02月02日
    浏览(94)
  • CSS基础-边框和圆角

    CSS中用border 定义边框属性。 border语法:border:[宽度][样式][颜色] 其中: 宽度:边框的宽度,单位可以使px、em、rem 等单位,也可以使用thin、medium、thick 三种预设值 样式:边框的样式,值可以是 solid(实线),dashed(虚线),dotted(点线)等多种样式。 样式值 意思 solid 实线 dashed 虚线

    2024年02月12日
    浏览(55)
  • CSS中的圆角和阴影

    目录 盒子圆角 圆角基础使用 圆角常见使用 通过设置盒子圆角得到一个圆形 通过设置盒子圆角,得到一个“操场”的样式 盒子阴影 文字阴影 在 CSS3 中,新增了圆角边框样式,这样我们的盒子就可以变圆角了。 使用 border-radius 属性用于设置元素的外边框圆角。 基本语法如下

    2024年04月28日
    浏览(38)
  • css不规则圆角矩形

    这个收集的css 效果是真的多 https://github.com/chokcoco/iCSS强烈推荐

    2024年02月20日
    浏览(40)
  • css设计表格圆角最简单的方法

    代码如下: border-collapse 属性介绍看:https://developer.mozilla.org/zh-CN/docs/Web/CSS/border-collapse 效果图如下:

    2024年02月12日
    浏览(42)
  • 网页设计学习记录-常用圆角按钮css

    效果图

    2024年02月07日
    浏览(35)
  • 带圆角的虚线边框?CSS 不在话下

    今天,我们来看这么一个非常常见的切图场景,我们需要一个带圆角的虚线边框,像是这样: 这个我们使用 CSS 还是可以轻松解决的,代码也很简单,核心代码: 但是,原生的 dashed 有一个问题,就是我们 无法控制虚线的单段长度与间隙 。 假设,我们要这么一个效果呢虚线

    2024年02月05日
    浏览(54)
  • 【CSS】透明背景的圆角渐变边框实现方案

    css的渐变边框可以用下面方式实现 css的圆角边框可以用下面方式实现 那想要实现一个圆角的渐变边框呢,可能会以为,两个都用上不就可以了,但事实是,这两个属性并不兼容,所以要实现一个圆角的渐变边框,就得需要曲线救国的方法了 最终效果图    

    2024年02月13日
    浏览(69)
  • CSS3 实现边框圆角渐变色&&渐变文字效果

      background-clip: text; 是CSS中的一个属性,用于指定背景图片或颜色的裁剪方式,裁剪的区域是文本的轮廓。具体来说,就是将背景图片或颜色限制在文本的轮廓内,而不是整个元素的范围内。这个属性通常用于创建一些特殊的文本效果,比如文字渐变、文字填充等。  参考:

    2024年02月16日
    浏览(52)
  • 前端基础(CSS)——css介绍 & 常用样式 & 案例—进化到Bootstrap——进化到Element-UI(未完待续)

    css是什么,层叠样式表, css作用:让html网页有布局,变漂亮 参考w3school 以p标签为例, 序号 位置 优先级 1 写在p标签内 最高 2 写在style内 第二 3 写在link内 最低 (1)标签选择器—div{} 标签选择器,选择html文档中所有的div,对所有的div进行设置 (2)id选择器----#div01{} 符号

    2024年02月08日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包