(面试题)

怎么样通过 CSS 画一个三角形:

1. 元素的 width 和 height 设置为 0

2. 边框 足够大

  •    

3. 需要的三角形的部分, border-top-color 设置为 有色

4. 不需要的部分 border-right-color,border-bottom-color,border-left-color,设置为 透明色

  • color: rgba(0,0,0,0);
    
    // 或者
    color: #0000; // 或者
    color: transparent;

圆角边框(支持所有元素,无论块元素,还是行内元素)

  • 尽管,border-radius 将 元素 变成了圆形,但是里面的文本子元素,仍旧沿着矩形盒子进行排列。
  • CSS3 提供的特性: 尽管盒子的外形和位置发生了变换,但是元素在文档流中的位置是不变的
  • border-radius: 50%;    // 百分比参照盒子自身。

    • 当 width = height 时,会画一个圆形。
    • 当 width 不等于 height 时,会画一个椭圆形。
      • 椭圆形

        #box {
        width: 300px;
        height: 200px;
        border-radius: 150px/100px; // x 轴半径 / y 轴半径
        }
  • 语法:

    • #box {
      border-radius: 30px 10px 50px 0; // 左上 右上 右下 左下
      border-radius: 30px 10px 50px;
      border-radius: 30px 10px;
      border-radius: 30px;
      }
  • 用 CSS 画一个半圆
  • #box {
    width: 100px;
    hright: 200px; border-radius: 0 100% 100% 0;
    // border-radius: 100% 0 0 100%;
    } #box {
    width: 200px;
    hright: 100px; border-radius: 100% 100% 0 0 ;
    // border-radius: 0 0 100% 100%;
    }
  • 用 CSS 画一个扇形

    • #box {
      width: 100px;
      hright: 100px; border-radius: 100% 0 0 0;
      // border-radius: 0 100% 0 0 0;
      // border-radius: 0 0 100% 0;
      // border-radius: 0 0 0 100%;
      }
  • 用 CSS 画一个太极图

    • <!DOCTYPE html>
      <html>
      <head>
      <meta charset="UTF-8" />
      <title>太极图</title>
      <style type="text/css">
      #test_box {
      width: 200px;
      height: 200px;
      border-radius: 50%;
      margin: 30px auto; background-color: red;
      position: relative;
      } #test_box #left_box,
      #test_box #right_box {
      width: 100px;
      height: 200px; float: left;
      } #test_box #left_box {
      background-color: #000;
      border-radius: 100px 0 0 100px;
      } #test_box #right_box {
      background-color: #fff;
      border-radius: 0 100px 100px 0;
      } #test_box #top_box,
      #test_box #bottom_box {
      width: 100px;
      height: 100px;
      border-radius: 50%; position: absolute;
      left: 50%;
      margin-left: -50px;
      } #test_box #top_box {
      top: 0;
      background-color: #000;
      } #test_box #bottom_box {
      bottom: 0;
      background-color: #fff;
      } #test_box #top_box #white_dot,
      #test_box #bottom_box #black_dot {
      width: 20px;
      height: 20px;
      border-radius: 50%;
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      margin: auto;
      } #test_box #top_box #white_dot {
      background-color: #fff;
      } #test_box #bottom_box #black_dot {
      background-color: #000;
      }
      </style>
      </head> <body> <div id="test_box">
      <div id="left_box">
      </div> <div id="right_box">
      </div> <div id="top_box">
      <div id="white_dot"></div>
      </div> <div id="bottom_box">
      <div id="black_dot"></div>
      </div>
      </div> </body>
      </html>

只用一个 <div> 画太极阴阳图 

  • <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8" />
    <title>神分阴阳</title> <style type="text/css">
    body {
    width: 100%;
    color: #000;
    background: #96b377;
    font: 14px Helvetica, Arial, sans-serif;
    }
    #test_box {
    width: 100px;
    height: 200px;
    border-right: 100px solid #fff;
    border-radius: 50%;
    margin: 30px auto; background-color: #000;
    position: relative;
    top: 0px;
    left: 0px;
    } #test_box:before {
    content: ""; width: 20px;
    height: 20px; border: 40px solid #000;
    border-radius: 50%;
    background-color: #fff; position: absolute;
    top: 0px;
    left: 100%;
    margin-left: -50px; /* 左右 上下 模糊 颜色 */
    box-shadow: 4px 0px 4px #a66fe2;
    } #test_box:after {
    content: ""; width: 20px;
    height: 20px; border: 40px solid #fff;
    border-radius: 50%;
    background-color: #000; /* 左右 上下 模糊 颜色 */
    box-shadow: -5px 0px 4px #c4d0a7; position: absolute;
    bottom: 0px;
    left: 100%;
    margin-left: -50px;
    }
    </style>
    </head> <body> <div id="test_box"> </div> </body>
    </html>

  • 弧形凹陷 评论框

    • <!DOCTYPE html>
      <html>
      <head>
      <meta charset="UTF-8" />
      <title>弧形凹陷 评论框</title> <style type="text/css">
      body {
      background-color: #96b377;

      #test_box {
      width: 800px;
      height: 300px;
      margin: 300px auto 0px;
      border: 1px solid red;
      background-color: skyblue; position: relative;
      top: 0px;
      left: 0px;
      } #test_box #arc {
      width: 100px;
      height: 100px;
      border-radius: 50%;
      background-color: #96b377;
      border: 1px solid red; position: absolute;
      top: -70px;
      left: 70px;
      } #test_box #arc #mask {
      width: 102px;
      height: 100px;
      background-color: #96b377; position: absolute;
      top: -32px;
      left: -1px;
      } #test_box #arc #circle_login {
      width: 70px;
      height: 70px;
      border-radius: 50%; background-color: #ccc;
      text-align: center;
      line-height: 70px;
      font-size: 24px; position: absolute;
      z-index: 2;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      margin: auto;
      } </style>
      </head> <body> <div id="test_box">
      <div id="arc">
      <div id="mask"></div>
      <div id="circle_login">
      登录
      </div>
      </div>
      </div> </body>
      </html>
  • 四叶草 旋转     初探 CSS3 动画

    • <!DOCTYPE html>
      <html>
      <head>
      <meta charset="UTF-8" />
      <title>四叶草旋转 初探 CSS 动画</title> <style type="text/css">
      body {
      width: 100%;
      color: #000;
      background: #96b377;
      font: 14px Helvetica, Arial, sans-serif;
      } #test_box {
      width: 624px;
      height: 624px;
      margin: 60px auto;
      list-style: none; animation: turnAround 1s linear infinite;
      } @keyframes turnAround {
      from {transform: rotate(0deg)}
      to {transform: rotate(360deg)}
      } #test_box li {
      float: left;
      width: 300px;
      height: 300px;
      margin: 5px; border: 1px solid red;
      background-color: #eee;
      } #test_box li:nth-child(1),
      #test_box li:nth-child(4) {
      border-radius: 0 230px 0 230px;
      } #test_box li:nth-child(2),
      #test_box li:nth-child(3) {
      border-radius: 230px 0 230px 0;
      } </style>
      </head> <body> <ul id="test_box">
      <li></li>
      <li></li>
      <li></li>
      <li></li>
      </ul> </body>
      </html>

CSS3_边框 border 详解_一个 div 的阴阳图的更多相关文章

  1. css3(border-radius)边框圆角详解(转)

    css3(border-radius)边框圆角详解 (2014-05-19 16:16:29) 转载▼ 标签: divcss html it css3 分类: 网页技术 传统的圆角生成方案,必须使用多 ...

  2. Java 正则表达式详解_正则表达式

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

  3. UML类图详解_关联关系_一对多

    对于一对多的示例,可以想象一个账户可以多次申购.在申购的时候没有固定上限,下限为0,那么就可以使用容器类(container class)来搞,最常见的就是vector了. 下面我们来看一个“一对多” ...

  4. UML类图详解_关联关系_多对一

    首先先来明确一个概念,即多重性.什么是多重性呢?多重性是指两个对象之间的链接数目,表示法是“下限...上限”,最小数据为零(0),最大数目为没有设限(*),如果仅标示一个数目级上下限相同. 实际在UM ...

  5. (5)ps详解 (每周一个linux命令系列)

    (5)ps详解 (每周一个linux命令系列) linux命令 ps详解 引言:今天的命令是用来看进程状态的ps命令 ps 我们先看man ps ps - report a snapshot of t ...

  6. (4)top详解 (每周一个linux命令系列)

    (4)top详解 (每周一个linux命令系列) linux命令 top详解 引言:今天的命令是用来看cpu信息的top top 我们先看man top top - display Linux pro ...

  7. (3)lscpu详解 (每周一个linux命令系列)

    (3)lscpu详解 (每周一个linux命令系列) linux命令 lscpu详解 引言:今天的命令是用来看cpu信息的lscpu lscpu 我们先看man lscpu display infor ...

  8. (2)free详解 (每周一个linux命令系列)

    (2)free详解 (每周一个linux命令系列) linux命令 free详解 引言:今天的命令是用来看内存的free free 换一个套路,我们先看man free中对free的描述: Displ ...

  9. css3(border-radius)边框圆角详解

    传统的圆角生成方案,必须使用多张图片作为背景图案.CSS3的出现,使得我们再也不必浪费时间去制作这些图片了,只需要border-radius属性,支持浏览器IE 9.Opera 10.5.Safari ...

随机推荐

  1. Mybatis-批量执行

    一.使用动态SQL 中的 Foreach 批量插入 1.MySQL // 实体类 public class MyUser { private Integer id; private String na ...

  2. Ubuntu 开机自动挂载硬盘

    1.查看Linux硬盘信息: $ sudo fdisk -l 2.格式化硬盘(根据需要确定文件系统): sudo mkfs.xfs /dev/sdb 3.创建/data目录 sudo mkdir /d ...

  3. react-router(v4) 路由跳转后返回页面顶部问题

    遇到的问题 由A页面跳转到B页面,B页面停留在A页面的位置,没有返回到顶部. 问题分析 首先分析下出现此问题的原因: 在项目中使用的是 hashHistory,它是建立在 history 之上的,当路 ...

  4. jquery.ajax()详解

    jQuery.ajax() 函数详解 traditional 如果你希望使用传统方式来序列化参数,将该属性设为true. 传递数组时, traditional必须为true var arr = []; ...

  5. idea一款颜值很高的theme

    在idea的plugins搜索theme,能看到一款人气值超高的插件,下载使用了确实很漂亮!

  6. XL4001 典型应用电路

    典型的应用电路如下: 中文数据手册:https://wenku.baidu.com/view/98ad2ed86f1aff00bed51ec7.html 在做毕设的时候用到的一款350ma的DC/DC ...

  7. 主机服务绑定IP

    在用 netstat -na  查看当前主机提供的服务,例如显示如下结果: tcp        0      0 127.0.0.1:9000              0.0.0.0:*      ...

  8. Win10上默认VS 2017以管理员身份运行

    Win10上的UAC虽然是个好东西,但是对于使用开发工作的技术人员来说有时候也挺麻烦.这里有一个让VS2017无论如何都以管理员身份运行的方法. 1.进入VS2017的安装目录:..\Microsof ...

  9. 一、cryptsetup文件系统加密

    cryptsetup文件系统加密   今天做了SYC攻防题的文件系统挂载部分,在找到挂载最内层的final文件时发现mount无法识别,这也许就是一个加密的文件系统吧,还好-在龟速的 网络环境下查阅到 ...

  10. 解决nginx和php使用ckfinder无法上传大文件的问题

    现象描述:cms内容发布系统上传不了大文件,当上传超过32M文件时就上传不了 提示:无效的文件. 文件尺寸太大. 分析文件上传过程:browser --> nginx --> php 需要 ...