CSS揭秘读书笔记      (一)

一、半透明边框

  1. 要想实现半透明边框可以使用border:

  border: 10px  solid  hsla(0,0%,100%,.5);

  background:white;

  background-clip:padding-box;

①  hsla:h是色调,取值范围是0-360。s是饱和度,取值范围是0%-100%。l是亮度,取值范围是0%-100%。a是透明度,取值范围是0-1。

② background-clip:用于调整背景图的显示区域,有3个值,border-box:背景图延伸在边框后面。padding-box:背景图不出现在内边距区域,不出现在边框后面。content-box:背景图只出现在内容后面,不出现在内边距和边框后面。

二、多重边框

  1. 使用box-shadow(支持IE9),即多重投影:

  background:yellow;

  box-shadow:  0 0 0 10px #655,

     0 0 0 15px deeppink,

   0 2px 5px 15px rgba(0, 0, 0, .6);

  2. 使用outline(支持IE8):

  outline:与border类似但是不占空间,即不会被算入元素的高宽中。但这种解决方案只适用于双层边框,而且边框不一定会贴合border-radius属性产生的圆角

   background-color: greenyellow;

   border: 10px solid #655;

outline: 5px solid deeppink;

三、灵活的背景定位

  我们可以通过指定背景图片对任意角的偏移量来灵活的展现背景,背景下载图片地址:http://csssecrets.io/images/code-pirate.svg

  1. 以下代码使得背景图片永远处于内容的最右下角,而不是背景颜色的最下角,位置可以随padding的改变而改变。

  padding: 30px;

  background: url(../img/code-pirate.svg) no-repeat right bottom #58a;

background-origin: content-box; // 使用内容宽度

  2. 使用calc()方案,部分支持IE。

  以下代码会使图片定位在距离背景颜色的右边20px,距离底部10px。记住在calc函数中运算符号两边必须有空格,否则会错误。

  padding: 30px;

  background: url(../img/code-pirate.svg) no-repeat #58a;

  background-position: calc(100% - 20px) calc(100% - 10px);

四、边框内圆角

  1. 使用两个元素达成效果

    <div class="something-meaningful ">

    <div>

        我有一些很好看的内部圆边,外部直边不是吗?

      </div>

    </div>

    .something-meaningful {

     width: 15rem;

     height: 5rem;

     background-color: #655;

      padding: .8rem;

    }

    .something-meaningful>div {

      background: tan;

        border-radius: .8rem;

        padding: 1rem;

    }

  2. 使用1个元素达成效果,同时使用outline和box-shadow来达成效果,其中描边的取值至少是border-radius值的(√2 – 1),因为(√2 – 1) < 0.5 ,所以可以直接取一半,以下面代码为例,box-shadow和-outline的值至少要是0.4rem,我取了0.6rem。

    <div class="something-meaningful">

       我有一些很好看的内部圆边,外部直边不是吗?

       </div>

    .something-meaningful {

     width: 15rem;

       height: 5rem;

       background-color: #655;

      background: tan;

      border-radius: .8rem;

      padding: 1rem;

       outline: .6rem solid #655;

     box-shadow: 0 0 0 .6em #655;

    }

五、条纹背景

   1. 横向条纹:

    .linear-gra {

      background: linear-gradient(#fb3 30%,#58a 30%,#58a 60%,greenyellow 0);

   }

可以使用0来减少重复输入,因为如果某个色标的位置值比整个列表中在他之前的色标位置值都小,则该色标的位置会被设置为他前面所有色标位置值的最大值。

  2. 垂直条纹:加一个90deg

    .linear-gra {

      background: linear-gradient(90deg, #fb3 30%, #58a 30%,#58a 60%,greenyellow 0);

  }

  3. 60度间隔条纹背景:

    .linear-gra {          

        background: repeating-linear-gradient(60deg,#fb3,#fb3 15px,#58a 0,#58a 30px);

   }

可以使用repeating-linear-gradient 来进行重复,色标是无限循环的

  4. 30度同色系条纹背景:

  .linear-gra {

     background: #58a;

     background-image: repeating-linear-gradient(30deg, hsla(0, 0%, 100%, .1),hsla(0, 0%, 100%, .1) 15px,transparent 0, transparent 30px);

  }

  同色系的条纹可以使用hsla来进行简化

CSS揭秘读书笔记 (一)的更多相关文章

  1. css 揭秘-读书笔记

    css 揭秘 [希]Lea verou 著 css 魔法 译 该书涵盖7大主题,47个css技巧,是css进阶必备书籍,开阔思路,探寻更优雅的解决方案.这本书完全用css渲染出的html写成的(布局. ...

  2. css揭秘读书笔记

    currentColor属性让hr和段落相同的颜色: div { color: red; } hr { background: currentColor; /* 一定要设置高度*/ height: 0 ...

  3. 《CSS揭秘》笔记(一)

    前言 我们在现代 CSS 中所面临的挑战已经不在于如何绕过这些转瞬即逝的浏览器 bug.如今的挑战是,在保证 DRY ① .可维护.灵活性.轻量级并且尽可能符合标准的前提下,把我们手中的这些CSS特性 ...

  4. Spring揭秘 读书笔记 三 bean的scope与FactoryBean

    本书可作为王富强所著<<Spring揭秘>>一书的读书笔记  第四章 BeanFactory的xml之旅 bean的scope scope有时被翻译为"作用域&quo ...

  5. spring揭秘 读书笔记 二 BeanFactory的对象注册与依赖绑定

    本文是王福强所著<<spring揭秘>>一书的读书笔记 我们前面就说过,Spring的IoC容器时一个IoC Service Provider,而且IoC Service Pr ...

  6. spring揭秘 读书笔记 一 IoC初探

    本文是王福强所著<<spring揭秘>>一书的读书笔记 ioc的基本概念 一个例子 我们看下面这个类,getAndPersistNews方法干了四件事 1 通过newsList ...

  7. 《精通CSS》读书笔记(一)

    最近新添16本书,目前开始看陈剑瓯翻译的<精通CSS——高级Web标准解决方案>(Andy Budd, CSS Mastery -- Advanced Web Standards Solu ...

  8. spring揭秘 读书笔记 二 BeanFactory的对象注冊与依赖绑定

    本文是王福强所著<<spring揭秘>>一书的读书笔记 我们前面就说过,Spring的IoC容器时一个IoC Service Provider,并且IoC Service Pr ...

  9. 《Two Days DIV + CSS》读书笔记——CSS选择器

    1.1.2 CSS选择器 CSS 选择器最基本的有四种:标签选择器.ID 选择器.类选择器.通用选择器. [标签选择器] 一个完整的 HTML 页面由很多不同的标签组成,而标签选择器,则是决定哪些标签 ...

随机推荐

  1. 503 Service Temporarily Unavailable

    503 Service Temporarily Unavailable 最近网站刷新后经常出现503 Service Temporarily Unavailable错误,有时有可以,联想到最近在ngi ...

  2. 项目评价及第五周PSP的发布

         5TH 各组作品ALPHA发布体会       1:俄罗斯方块组做了主要功能,这个项目我自己原来拿c语言做过一部分,感觉此游戏细节特别多,逻辑思维需要组织,以为我的水准来说,感觉做的挺好的. ...

  3. 理解RHEL上安装oracle的配置参数

    无论安装什么版本的oracle,在安装之前,都需要配置 /etc/pam.d/login   /etc/profile   /etc/security/limits.conf这三个文件 那这三个文件究 ...

  4. PXE-kickstart无人值守批量装机

    服务器的批量部署: 规模化:同时装配多台服务器 自动化:安装系统.配置各种服务 远程实现:不需要光盘.U盘等安装介质 PXE,Pre-boot eXcution Environment 预启动执行环境 ...

  5. 思维导图软件TheBrain 8全新发布 提供更强大的信息管理

    TheBrain思维导图软件是全球唯一一款动态的网状结构的思维导图软件,广泛用于学习.演讲.项目管理.会议.需求调研与分析等.其独特的信息组织方式使得用户可以创建并连接到数以万计的数字想法,为此在全球 ...

  6. Matlab神经网络函数newff()新旧用法差异

    摘要 在Matlab R2010a版中,如果要创建一个具有两个隐含层.且神经元数分别为5.3的前向BP网络,使用旧的语法可以这样写: net1 = newff(minmax(P), [5 3 1]); ...

  7. International Conference in 2014

    International Conference on Machine Learning (ICML2014, Beijing).(papers are available) Neural Infor ...

  8. 在jsp中常用的内置对象(5个)小总结和两种页面跳转方式(服务器端调转、客户端跳转)的区别

    jsp中常用的几个内置对象: 一.request对象 主要作用:  (1)获取请求页面的信息   比如:request.getParameter("参数名");  (2)获取客户端 ...

  9. python学习笔记:Day01

    一.python 简介 1.  python是Guido van Rossum在1989年圣诞节期间,为了打发无聊的假期而编写的一个编程语言   2.  pyhton主要应用于数据分析.组件集成.网络 ...

  10. 【Leetcode】【Medium】Decode Ways

    A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' - ...