用纯CSS实现的箭头

作者:newghost 来源:ourjs.com 发布时间:2014-03-23 查看数:63612

用CSS即可绘制出各种箭头,无需裁剪图片,甚至没有用到CSS3的东西。对浏览器支持良好。

基本原理

原理非常简单,通过截取border(边框)的部分"拐角"实现,几行CSS代码即可理解:

一个梯形

当元素宽、高和边框的宽相近(等)时,改变某一边的颜色可以看到一个梯形;

::: {#demo11} :::

:::: {#highlighter_625101 .syntaxhighlighter .xml} ::: toolbar :::

+-------------------------------------+-----------------------------------------+ | ::: {.line .number1 .index0 .alt2} | ::::::::::::: container | | 1 | ::: {.line .number1 .index0 .alt2} | | ::: | <{.xml .plain}div{.xml | | | .keyword} id{.xml .color1}={.xml | | ::: {.line .number2 .index1 .alt1} | .plain}"demo11"{.xml | | 2 | .string}></{.xml .plain}div{.xml | | ::: | .keyword}>{.xml .plain} | | | ::: | | ::: {.line .number3 .index2 .alt2} | | | 3 | ::: {.line .number2 .index1 .alt1} | | ::: |   | | | ::: | | ::: {.line .number4 .index3 .alt1} | | | 4 | ::: {.line .number3 .index2 .alt2} | | ::: | <{.xml .plain}style{.xml | | | .keyword}>{.xml .plain} | | ::: {.line .number5 .index4 .alt2} | ::: | | 5 | | | ::: | ::: {.line .number4 .index3 .alt1} | | | #demo11 {{.xml .plain} | | ::: {.line .number6 .index5 .alt1} | ::: | | 6 | | | ::: | ::: {.line .number5 .index4 .alt2} | | |   {.xml | | ::: {.line .number7 .index6 .alt2} | .spaces}border: 10px solid #000;{.xml | | 7 | .plain} | | ::: | ::: | | | | | ::: {.line .number8 .index7 .alt1} | ::: {.line .number6 .index5 .alt1} | | 8 |   {.xml | | ::: | .spaces}border-left-color: #f00;{.xml | | | .plain} | | ::: {.line .number9 .index8 .alt2} | ::: | | 9 | | | ::: | ::: {.line .number7 .index6 .alt2} | | |   {.xml .spaces}width: 10px;{.xml | | ::: {.line .number10 .index9 .alt1} | .plain} | | 10 | ::: | | ::: | | | | ::: {.line .number8 .index7 .alt1} | | |   {.xml .spaces}height: 10px;{.xml | | | .plain} | | | ::: | | | | | | ::: {.line .number9 .index8 .alt2} | | | }{.xml .plain} | | | ::: | | | | | | ::: {.line .number10 .index9 .alt1} | | | </{.xml .plain}style{.xml | | | .keyword}>{.xml .plain} | | | ::: | | | ::::::::::::: | +-------------------------------------+-----------------------------------------+ ::::

一个三角形

当元素宽、高为零,且其他边为透明颜色时,可以形一个三角形。

::: {#demo13} :::

:::: {#highlighter_215812 .syntaxhighlighter .xml} ::: toolbar :::

+-------------------------------------+-----------------------------------------+ | ::: {.line .number1 .index0 .alt2} | ::::::::::::: container | | 1 | ::: {.line .number1 .index0 .alt2} | | ::: | <{.xml .plain}div{.xml | | | .keyword} id{.xml .color1}={.xml | | ::: {.line .number2 .index1 .alt1} | .plain}"demo12"{.xml | | 2 | .string}></{.xml .plain}div{.xml | | ::: | .keyword}>{.xml .plain} | | | ::: | | ::: {.line .number3 .index2 .alt2} | | | 3 | ::: {.line .number2 .index1 .alt1} | | ::: |   | | | ::: | | ::: {.line .number4 .index3 .alt1} | | | 4 | ::: {.line .number3 .index2 .alt2} | | ::: | <{.xml .plain}style{.xml | | | .keyword}>{.xml .plain} | | ::: {.line .number5 .index4 .alt2} | ::: | | 5 | | | ::: | ::: {.line .number4 .index3 .alt1} | | | #demo12 {{.xml .plain} | | ::: {.line .number6 .index5 .alt1} | ::: | | 6 | | | ::: | ::: {.line .number5 .index4 .alt2} | | |   {.xml | | ::: {.line .number7 .index6 .alt2} | .spaces}border: 10px solid #000;{.xml | | 7 | .plain} | | ::: | ::: | | | | | ::: {.line .number8 .index7 .alt1} | ::: {.line .number6 .index5 .alt1} | | 8 |   {.xml | | ::: | .spaces}border-left-color: #f00;{.xml | | | .plain} | | ::: {.line .number9 .index8 .alt2} | ::: | | 9 | | | ::: | ::: {.line .number7 .index6 .alt2} | | |   {.xml .spaces}width: 0;{.xml | | ::: {.line .number10 .index9 .alt1} | .plain} | | 10 | ::: | | ::: | | | | ::: {.line .number8 .index7 .alt1} | | |   {.xml .spaces}height: 0;{.xml | | | .plain} | | | ::: | | | | | | ::: {.line .number9 .index8 .alt2} | | | }{.xml .plain} | | | ::: | | | | | | ::: {.line .number10 .index9 .alt1} | | | </{.xml .plain}style{.xml | | | .keyword}>{.xml .plain} | | | ::: | | | ::::::::::::: | +-------------------------------------+-----------------------------------------+ ::::

任意角度的三角形

改变各个边的宽度,即通过调整"边框"厚度可以配置出任意角度

::: {#demo14} :::

:::: {#highlighter_510328 .syntaxhighlighter .xml} ::: toolbar :::

+-------------------------------------+------------------------------------------------+ | ::: {.line .number1 .index0 .alt2} | ::::::::::::: container | | 1 | ::: {.line .number1 .index0 .alt2} | | ::: | <{.xml .plain}div{.xml .keyword} id{.xml | | | .color1}={.xml .plain}"demo14"{.xml | | ::: {.line .number2 .index1 .alt1} | .string}></{.xml .plain}div{.xml | | 2 | .keyword}>{.xml .plain} | | ::: | ::: | | | | | ::: {.line .number3 .index2 .alt2} | ::: {.line .number2 .index1 .alt1} | | 3 |   | | ::: | ::: | | | | | ::: {.line .number4 .index3 .alt1} | ::: {.line .number3 .index2 .alt2} | | 4 | <{.xml .plain}style{.xml .keyword}>{.xml | | ::: | .plain} | | | ::: | | ::: {.line .number5 .index4 .alt2} | | | 5 | ::: {.line .number4 .index3 .alt1} | | ::: | #demo14 {{.xml .plain} | | | ::: | | ::: {.line .number6 .index5 .alt1} | | | 6 | ::: {.line .number5 .index4 .alt2} | | ::: |   {.xml | | | .spaces}border: 10px solid transparent;{.xml | | ::: {.line .number7 .index6 .alt2} | .plain} | | 7 | ::: | | ::: | | | | ::: {.line .number6 .index5 .alt1} | | ::: {.line .number8 .index7 .alt1} |   {.xml | | 8 | .spaces}border-left: 20px solid #f00;{.xml | | ::: | .plain} | | | ::: | | ::: {.line .number9 .index8 .alt2} | | | 9 | ::: {.line .number7 .index6 .alt2} | | ::: |   {.xml .spaces}width: 0;{.xml .plain} | | | ::: | | ::: {.line .number10 .index9 .alt1} | | | 10 | ::: {.line .number8 .index7 .alt1} | | ::: |   {.xml .spaces}height: 0px;{.xml .plain} | | | ::: | | | | | | ::: {.line .number9 .index8 .alt2} | | | }{.xml .plain} | | | ::: | | | | | | ::: {.line .number10 .index9 .alt1} | | | </{.xml .plain}style{.xml | | | .keyword}>{.xml .plain} | | | ::: | | | ::::::::::::: | +-------------------------------------+------------------------------------------------+ ::::

通过伪元素实现

三角形可以通过伪元素绘制出,而无需改变原来的DOM结构

[文字内容]{#demo15}

:::: {#highlighter_614833 .syntaxhighlighter .xml} ::: toolbar :::

+--------------------------------------+------------------------------------------------+ | ::: {.line .number1 .index0 .alt2} | :::::::::::::::::: container | | 1 | ::: {.line .number1 .index0 .alt2} | | ::: | <{.xml .plain}span{.xml | | | .keyword} id{.xml .color1}={.xml | | ::: {.line .number2 .index1 .alt1} | .plain}"demo15"{.xml | | 2 | .string}>文字内容</{.xml .plain}span{.xml | | ::: | .keyword}>{.xml .plain} | | | ::: | | ::: {.line .number3 .index2 .alt2} | | | 3 | ::: {.line .number2 .index1 .alt1} | | ::: |   | | | ::: | | ::: {.line .number4 .index3 .alt1} | | | 4 | ::: {.line .number3 .index2 .alt2} | | ::: | <{.xml .plain}style{.xml .keyword}>{.xml | | | .plain} | | ::: {.line .number5 .index4 .alt2} | ::: | | 5 | | | ::: | ::: {.line .number4 .index3 .alt1} | | | #demo15{{.xml .plain} | | ::: {.line .number6 .index5 .alt1} | ::: | | 6 | | | ::: | ::: {.line .number5 .index4 .alt2} | | |   {.xml .spaces}position: relative;{.xml | | ::: {.line .number7 .index6 .alt2} | .plain} | | 7 | ::: | | ::: | | | | ::: {.line .number6 .index5 .alt1} | | ::: {.line .number8 .index7 .alt1} | }{.xml .plain} | | 8 | ::: | | ::: | | | | ::: {.line .number7 .index6 .alt2} | | ::: {.line .number9 .index8 .alt2} | #demo15:after {{.xml .plain} | | 9 | ::: | | ::: | | | | ::: {.line .number8 .index7 .alt1} | | ::: {.line .number10 .index9 .alt1} |   {.xml | | 10 | .spaces}border: 10px solid transparent;{.xml | | ::: | .plain} | | | ::: | | ::: {.line .number11 .index10 .alt2} | | | 11 | ::: {.line .number9 .index8 .alt2} | | ::: |   {.xml | | | .spaces}border-left: 10px solid #f00;{.xml | | ::: {.line .number12 .index11 .alt1} | .plain} | | 12 | ::: | | ::: | | | | ::: {.line .number10 .index9 .alt1} | | ::: {.line .number13 .index12 .alt2} |   {.xml .spaces}width: 0;{.xml .plain} | | 13 | ::: | | ::: | | | | ::: {.line .number11 .index10 .alt2} | | ::: {.line .number14 .index13 .alt1} |   {.xml .spaces}height: 0;{.xml .plain} | | 14 | ::: | | ::: | | | | ::: {.line .number12 .index11 .alt1} | | ::: {.line .number15 .index14 .alt2} |   {.xml .spaces}position: absolute;{.xml | | 15 | .plain} | | ::: | ::: | | | | | | ::: {.line .number13 .index12 .alt2} | | |   {.xml .spaces}content: ' '{.xml .plain} | | | ::: | | | | | | ::: {.line .number14 .index13 .alt1} | | | }{.xml .plain} | | | ::: | | | | | | ::: {.line .number15 .index14 .alt2} | | | </{.xml .plain}style{.xml | | | .keyword}>{.xml .plain} | | | ::: | | | :::::::::::::::::: | +--------------------------------------+------------------------------------------------+ ::::

伪元素实现三角线箭头

通过伪元素绘制出的两个,一个与背景色相同覆盖部分红色箭头,形成三角线

[文字内容]{#demo16}

:::: {#highlighter_803848 .syntaxhighlighter .xml} ::: toolbar :::

+--------------------------------------+------------------------------------------------+ | ::: {.line .number1 .index0 .alt2} | ::::::::::::::::::::::::: container | | 1 | ::: {.line .number1 .index0 .alt2} | | ::: | <{.xml .plain}span{.xml | | | .keyword} id{.xml .color1}={.xml | | ::: {.line .number2 .index1 .alt1} | .plain}"demo15"{.xml | | 2 | .string}>文字内容</{.xml .plain}span{.xml | | ::: | .keyword}>{.xml .plain} | | | ::: | | ::: {.line .number3 .index2 .alt2} | | | 3 | ::: {.line .number2 .index1 .alt1} | | ::: |   | | | ::: | | ::: {.line .number4 .index3 .alt1} | | | 4 | ::: {.line .number3 .index2 .alt2} | | ::: | <{.xml .plain}style{.xml .keyword}>{.xml | | | .plain} | | ::: {.line .number5 .index4 .alt2} | ::: | | 5 | | | ::: | ::: {.line .number4 .index3 .alt1} | | | #demo16{{.xml .plain} | | ::: {.line .number6 .index5 .alt1} | ::: | | 6 | | | ::: | ::: {.line .number5 .index4 .alt2} | | |   {.xml .spaces}position: relative;{.xml | | ::: {.line .number7 .index6 .alt2} | .plain} | | 7 | ::: | | ::: | | | | ::: {.line .number6 .index5 .alt1} | | ::: {.line .number8 .index7 .alt1} | }{.xml .plain} | | 8 | ::: | | ::: | | | | ::: {.line .number7 .index6 .alt2} | | ::: {.line .number9 .index8 .alt2} | #demo16:after, #demo16:before {{.xml .plain} | | 9 | ::: | | ::: | | | | ::: {.line .number8 .index7 .alt1} | | ::: {.line .number10 .index9 .alt1} |   {.xml | | 10 | .spaces}border: 10px solid transparent;{.xml | | ::: | .plain} | | | ::: | | ::: {.line .number11 .index10 .alt2} | | | 11 | ::: {.line .number9 .index8 .alt2} | | ::: |   {.xml | | | .spaces}border-left: 10px solid #fff;{.xml | | ::: {.line .number12 .index11 .alt1} | .plain} | | 12 | ::: | | ::: | | | | ::: {.line .number10 .index9 .alt1} | | ::: {.line .number13 .index12 .alt2} |   {.xml .spaces}width: 0;{.xml .plain} | | 13 | ::: | | ::: | | | | ::: {.line .number11 .index10 .alt2} | | ::: {.line .number14 .index13 .alt1} |   {.xml .spaces}height: 0;{.xml .plain} | | 14 | ::: | | ::: | | | | ::: {.line .number12 .index11 .alt1} | | ::: {.line .number15 .index14 .alt2} |   {.xml .spaces}position: absolute;{.xml | | 15 | .plain} | | ::: | ::: | | | | | ::: {.line .number16 .index15 .alt1} | ::: {.line .number13 .index12 .alt2} | | 16 |   {.xml .spaces}top: 0;{.xml .plain} | | ::: | ::: | | | | | ::: {.line .number17 .index16 .alt2} | ::: {.line .number14 .index13 .alt1} | | 17 |   {.xml .spaces}right: -20px;{.xml .plain} | | ::: | ::: | | | | | ::: {.line .number18 .index17 .alt1} | ::: {.line .number15 .index14 .alt2} | | 18 |   {.xml .spaces}content: ' '{.xml .plain} | | ::: | ::: | | | | | ::: {.line .number19 .index18 .alt2} | ::: {.line .number16 .index15 .alt1} | | 19 | }{.xml .plain} | | ::: | ::: | | | | | ::: {.line .number20 .index19 .alt1} | ::: {.line .number17 .index16 .alt2} | | 20 |   | | ::: | ::: | | | | | ::: {.line .number21 .index20 .alt2} | ::: {.line .number18 .index17 .alt1} | | 21 | #demo16:before {{.xml .plain} | | ::: | ::: | | | | | ::: {.line .number22 .index21 .alt1} | ::: {.line .number19 .index18 .alt2} | | 22 |   {.xml | | ::: | .spaces}border-left-color: #f00;{.xml | | | .plain} | | | ::: | | | | | | ::: {.line .number20 .index19 .alt1} | | |   {.xml .spaces}right: -21px;{.xml .plain} | | | ::: | | | | | | ::: {.line .number21 .index20 .alt2} | | | }{.xml .plain} | | | ::: | | | | | | ::: {.line .number22 .index21 .alt1} | | | </{.xml .plain}style{.xml | | | .keyword}>{.xml .plain} | | | ::: | | | ::::::::::::::::::::::::: | +--------------------------------------+------------------------------------------------+ ::::

三角线分割的Tab页

  • 文字内容 Tab1
  • 文字内容 Tab2
  • 文字内容 Tab3

:::: {#highlighter_792288 .syntaxhighlighter .xml} ::: toolbar :::

+--------------------------------------+-----------------------------------------------------+ | ::: {.line .number1 .index0 .alt2} | ::::::::::::::::::::::::::::::::::::::::: container | | 1 | ::: {.line .number1 .index0 .alt2} | | ::: | <{.xml .plain}ul{.xml .keyword} id{.xml | | | .color1}={.xml .plain}"demo17"{.xml | | ::: {.line .number2 .index1 .alt1} | .string}>{.xml .plain} | | 2 | ::: | | ::: | | | | ::: {.line .number2 .index1 .alt1} | | ::: {.line .number3 .index2 .alt2} |   {.xml .spaces}<{.xml .plain}li{.xml | | 3 | .keyword}>文字内容 Tab1</{.xml .plain}li{.xml | | ::: | .keyword}>{.xml .plain} | | | ::: | | ::: {.line .number4 .index3 .alt1} | | | 4 | ::: {.line .number3 .index2 .alt2} | | ::: |   {.xml .spaces}<{.xml .plain}li{.xml | | | .keyword}>文字内容 Tab2</{.xml .plain}li{.xml | | ::: {.line .number5 .index4 .alt2} | .keyword}>{.xml .plain} | | 5 | ::: | | ::: | | | | ::: {.line .number4 .index3 .alt1} | | ::: {.line .number6 .index5 .alt1} |   {.xml .spaces}<{.xml .plain}li{.xml | | 6 | .keyword}>文字内容 Tab3</{.xml .plain}li{.xml | | ::: | .keyword}>{.xml .plain} | | | ::: | | ::: {.line .number7 .index6 .alt2} | | | 7 | ::: {.line .number5 .index4 .alt2} | | ::: | </{.xml .plain}ul{.xml .keyword}>{.xml | | | .plain} | | ::: {.line .number8 .index7 .alt1} | ::: | | 8 | | | ::: | ::: {.line .number6 .index5 .alt1} | | |   | | ::: {.line .number9 .index8 .alt2} | ::: | | 9 | | | ::: | ::: {.line .number7 .index6 .alt2} | | | <{.xml .plain}style{.xml .keyword}>{.xml | | ::: {.line .number10 .index9 .alt1} | .plain} | | 10 | ::: | | ::: | | | | ::: {.line .number8 .index7 .alt1} | | ::: {.line .number11 .index10 .alt2} | #demo17{{.xml .plain} | | 11 | ::: | | ::: | | | | ::: {.line .number9 .index8 .alt2} | | ::: {.line .number12 .index11 .alt1} |   {.xml .spaces}font-size: 10px;{.xml .plain} | | 12 | ::: | | ::: | | | | ::: {.line .number10 .index9 .alt1} | | ::: {.line .number13 .index12 .alt2} |   {.xml .spaces}height: 24px;{.xml .plain} | | 13 | ::: | | ::: | | | | ::: {.line .number11 .index10 .alt2} | | ::: {.line .number14 .index13 .alt1} | }{.xml .plain} | | 14 | ::: | | ::: | | | | ::: {.line .number12 .index11 .alt1} | | ::: {.line .number15 .index14 .alt2} |   | | 15 | ::: | | ::: | | | | ::: {.line .number13 .index12 .alt2} | | ::: {.line .number16 .index15 .alt1} | #demo17 li {{.xml .plain} | | 16 | ::: | | ::: | | | | ::: {.line .number14 .index13 .alt1} | | ::: {.line .number17 .index16 .alt2} |   {.xml .spaces}float: left;{.xml .plain} | | 17 | ::: | | ::: | | | | ::: {.line .number15 .index14 .alt2} | | ::: {.line .number18 .index17 .alt1} |   {.xml .spaces}position: relative;{.xml | | 18 | .plain} | | ::: | ::: | | | | | ::: {.line .number19 .index18 .alt2} | ::: {.line .number16 .index15 .alt1} | | 19 |   {.xml .spaces}list-style: none;{.xml .plain} | | ::: | ::: | | | | | ::: {.line .number20 .index19 .alt1} | ::: {.line .number17 .index16 .alt2} | | 20 |   {.xml .spaces}margin: 0 20px 12px -19px;{.xml | | ::: | .plain} | | | ::: | | ::: {.line .number21 .index20 .alt2} | | | 21 | ::: {.line .number18 .index17 .alt1} | | ::: |   {.xml | | | .spaces}border-top: solid 1px #ddd;{.xml .plain} | | ::: {.line .number22 .index21 .alt1} | ::: | | 22 | | | ::: | ::: {.line .number19 .index18 .alt2} | | |   {.xml | | ::: {.line .number23 .index22 .alt2} | .spaces}border-bottom: solid 1px #ddd;{.xml | | 23 | .plain} | | ::: | ::: | | | | | ::: {.line .number24 .index23 .alt1} | ::: {.line .number20 .index19 .alt1} | | 24 |   {.xml .spaces}padding-left: 12px;{.xml | | ::: | .plain} | | | ::: | | ::: {.line .number25 .index24 .alt2} | | | 25 | ::: {.line .number21 .index20 .alt2} | | ::: | }{.xml .plain} | | | ::: | | ::: {.line .number26 .index25 .alt1} | | | 26 | ::: {.line .number22 .index21 .alt1} | | ::: |   | | | ::: | | ::: {.line .number27 .index26 .alt2} | | | 27 | ::: {.line .number23 .index22 .alt2} | | ::: | #demo17 li:after, #demo17 li:before {{.xml | | | .plain} | | ::: {.line .number28 .index27 .alt1} | ::: | | 28 | | | ::: | ::: {.line .number24 .index23 .alt1} | | |   {.xml | | ::: {.line .number29 .index28 .alt2} | .spaces}border: 10px solid transparent;{.xml | | 29 | .plain} | | ::: | ::: | | | | | ::: {.line .number30 .index29 .alt1} | ::: {.line .number25 .index24 .alt2} | | 30 |   {.xml | | ::: | .spaces}border-left: 10px solid #fff;{.xml | | | .plain} | | ::: {.line .number31 .index30 .alt2} | ::: | | 31 | | | ::: | ::: {.line .number26 .index25 .alt1} | | |   {.xml .spaces}width: 0;{.xml .plain} | | ::: {.line .number32 .index31 .alt1} | ::: | | 32 | | | ::: | ::: {.line .number27 .index26 .alt2} | | |   {.xml .spaces}height: 0;{.xml .plain} | | ::: {.line .number33 .index32 .alt2} | ::: | | 33 | | | ::: | ::: {.line .number28 .index27 .alt1} | | |   {.xml .spaces}position: absolute;{.xml | | ::: {.line .number34 .index33 .alt1} | .plain} | | 34 | ::: | | ::: | | | | ::: {.line .number29 .index28 .alt2} | | ::: {.line .number35 .index34 .alt2} |   {.xml .spaces}top: 0;{.xml .plain} | | 35 | ::: | | ::: | | | | ::: {.line .number30 .index29 .alt1} | | ::: {.line .number36 .index35 .alt1} |   {.xml .spaces}right: -18px;{.xml .plain} | | 36 | ::: | | ::: | | | | ::: {.line .number31 .index30 .alt2} | | ::: {.line .number37 .index36 .alt2} |   {.xml .spaces}content: ' '{.xml .plain} | | 37 | ::: | | ::: | | | | ::: {.line .number32 .index31 .alt1} | | ::: {.line .number38 .index37 .alt1} | }{.xml .plain} | | 38 | ::: | | ::: | | | | ::: {.line .number33 .index32 .alt2} | | |   | | | ::: | | | | | | ::: {.line .number34 .index33 .alt1} | | | #demo17 li:before {{.xml .plain} | | | ::: | | | | | | ::: {.line .number35 .index34 .alt2} | | |   {.xml .spaces}border-left-color: #ddd;{.xml | | | .plain} | | | ::: | | | | | | ::: {.line .number36 .index35 .alt1} | | |   {.xml .spaces}right: -19px;{.xml .plain} | | | ::: | | | | | | ::: {.line .number37 .index36 .alt2} | | | }{.xml .plain} | | | ::: | | | | | | ::: {.line .number38 .index37 .alt1} | | | </{.xml .plain}style{.xml .keyword}>{.xml | | | .plain} | | | ::: | | | ::::::::::::::::::::::::::::::::::::::::: | +--------------------------------------+-----------------------------------------------------+ ::::

三角形跟矩形组合成提示框

这里还有另一种效果,使用三角形跟矩形组合成提示框,代码来自这篇文章:[ ]{.Apple-converted-space}Css arrows and shapes without markup{target="_blank"}

::: {#demo} :::

\

:::: {#highlighter_357092 .syntaxhighlighter .xml} ::: toolbar :::

+--------------------------------------+-----------------------------------------------+ | ::: {.line .number1 .index0 .alt2} | ::::::::::::::::::::::::::::::::::: container | | 1 | ::: {.line .number1 .index0 .alt2} | | ::: | <{.xml .plain}div{.xml | | | .keyword} id{.xml .color1}={.xml | | ::: {.line .number2 .index1 .alt1} | .plain}"demo"{.xml .string}></{.xml | | 2 | .plain}div{.xml .keyword}>{.xml .plain} | | ::: | ::: | | | | | ::: {.line .number3 .index2 .alt2} | ::: {.line .number2 .index1 .alt1} | | 3 |   | | ::: | ::: | | | | | ::: {.line .number4 .index3 .alt1} | ::: {.line .number3 .index2 .alt2} | | 4 | <{.xml .plain}style{.xml | | ::: | .keyword}>{.xml .plain} | | | ::: | | ::: {.line .number5 .index4 .alt2} | | | 5 | ::: {.line .number4 .index3 .alt1} | | ::: | #demo {{.xml .plain} | | | ::: | | ::: {.line .number6 .index5 .alt1} | | | 6 | ::: {.line .number5 .index4 .alt2} | | ::: |   {.xml .spaces}width: 100px;{.xml | | | .plain} | | ::: {.line .number7 .index6 .alt2} | ::: | | 7 | | | ::: | ::: {.line .number6 .index5 .alt1} | | |   {.xml .spaces}height: 100px;{.xml | | ::: {.line .number8 .index7 .alt1} | .plain} | | 8 | ::: | | ::: | | | | ::: {.line .number7 .index6 .alt2} | | ::: {.line .number9 .index8 .alt2} |   {.xml | | 9 | .spaces}background-color: #ccc;{.xml | | ::: | .plain} | | | ::: | | ::: {.line .number10 .index9 .alt1} | | | 10 | ::: {.line .number8 .index7 .alt1} | | ::: |   {.xml .spaces}position: relative;{.xml | | | .plain} | | ::: {.line .number11 .index10 .alt2} | ::: | | 11 | | | ::: | ::: {.line .number9 .index8 .alt2} | | |   {.xml | | ::: {.line .number12 .index11 .alt1} | .spaces}border: 4px solid #333;{.xml | | 12 | .plain} | | ::: | ::: | | | | | ::: {.line .number13 .index12 .alt2} | ::: {.line .number10 .index9 .alt1} | | 13 | }{.xml .plain} | | ::: | ::: | | | | | ::: {.line .number14 .index13 .alt1} | ::: {.line .number11 .index10 .alt2} | | 14 |   | | ::: | ::: | | | | | ::: {.line .number15 .index14 .alt2} | ::: {.line .number12 .index11 .alt1} | | 15 | #demo:after, #demo:before {{.xml .plain} | | ::: | ::: | | | | | ::: {.line .number16 .index15 .alt1} | ::: {.line .number13 .index12 .alt2} | | 16 |   {.xml | | ::: | .spaces}border: solid transparent;{.xml | | | .plain} | | ::: {.line .number17 .index16 .alt2} | ::: | | 17 | | | ::: | ::: {.line .number14 .index13 .alt1} | | |   {.xml .spaces}content: ' ';{.xml | | ::: {.line .number18 .index17 .alt1} | .plain} | | 18 | ::: | | ::: | | | | ::: {.line .number15 .index14 .alt2} | | ::: {.line .number19 .index18 .alt2} |   {.xml .spaces}height: 0;{.xml .plain} | | 19 | ::: | | ::: | | | | ::: {.line .number16 .index15 .alt1} | | ::: {.line .number20 .index19 .alt1} |   {.xml .spaces}left: 100%;{.xml .plain} | | 20 | ::: | | ::: | | | | ::: {.line .number17 .index16 .alt2} | | ::: {.line .number21 .index20 .alt2} |   {.xml .spaces}position: absolute;{.xml | | 21 | .plain} | | ::: | ::: | | | | | ::: {.line .number22 .index21 .alt1} | ::: {.line .number18 .index17 .alt1} | | 22 |   {.xml .spaces}width: 0;{.xml .plain} | | ::: | ::: | | | | | ::: {.line .number23 .index22 .alt2} | ::: {.line .number19 .index18 .alt2} | | 23 | }{.xml .plain} | | ::: | ::: | | | | | ::: {.line .number24 .index23 .alt1} | ::: {.line .number20 .index19 .alt1} | | 24 |   | | ::: | ::: | | | | | ::: {.line .number25 .index24 .alt2} | ::: {.line .number21 .index20 .alt2} | | 25 | #demo:after {{.xml .plain} | | ::: | ::: | | | | | ::: {.line .number26 .index25 .alt1} | ::: {.line .number22 .index21 .alt1} | | 26 |   {.xml .spaces}border-width: 9px;{.xml | | ::: | .plain} | | | ::: | | ::: {.line .number27 .index26 .alt2} | | | 27 | ::: {.line .number23 .index22 .alt2} | | ::: |   {.xml | | | .spaces}border-left-color: #ccc;{.xml | | ::: {.line .number28 .index27 .alt1} | .plain} | | 28 | ::: | | ::: | | | | ::: {.line .number24 .index23 .alt1} | | ::: {.line .number29 .index28 .alt2} |   {.xml .spaces}top: 15px;{.xml .plain} | | 29 | ::: | | ::: | | | | ::: {.line .number25 .index24 .alt2} | | ::: {.line .number30 .index29 .alt1} | }{.xml .plain} | | 30 | ::: | | ::: | | | | ::: {.line .number26 .index25 .alt1} | | ::: {.line .number31 .index30 .alt2} |   | | 31 | ::: | | ::: | | | | ::: {.line .number27 .index26 .alt2} | | ::: {.line .number32 .index31 .alt1} | #demo:before {{.xml .plain} | | 32 | ::: | | ::: | | | | ::: {.line .number28 .index27 .alt1} | | |   {.xml .spaces}border-width: 14px;{.xml | | | .plain} | | | ::: | | | | | | ::: {.line .number29 .index28 .alt2} | | |   {.xml | | | .spaces}border-left-color: #333;{.xml | | | .plain} | | | ::: | | | | | | ::: {.line .number30 .index29 .alt1} | | |   {.xml .spaces}top: 10px;{.xml .plain} | | | ::: | | | | | | ::: {.line .number31 .index30 .alt2} | | | }{.xml .plain} | | | ::: | | | | | | ::: {.line .number32 .index31 .alt1} | | | </{.xml .plain}style{.xml | | | .keyword}>{.xml .plain} | | | ::: | | | ::::::::::::::::::::::::::::::::::: | +--------------------------------------+-----------------------------------------------+ ::::

本文作者:newghost

原文地址:http://ourjs.com/detail/532bc9f36922aa7e1d000001