一、css中的calc

在CSS中有calc属性用于尺寸的计算,可以让百分比和像素值进行运算。

div {width : calc(100% - 30px);}

为了兼容性

/*Firefox*/
-moz-calc(expression);
/*chrome safari*/
-webkit-calc(expression);

需要注意:减号前后必须有空格。

在less中,

div {
  @diff : 30px;
  width : calc(~"100% - @{diff}");
or width: calc(~"100% - "@diff)
}

二、CSS选择器中功能最强大的莫过于伪类

应用场景

学校网络实验课程有互评题部分,这部分是同学们互相评价答案对错。

大家当然都是互相打对勾了。

一个HTML页面,有100题,每道题都需要勾选“正确”,“错误”,“部分正确”三个选项,我想F12以下,写一个js语句一下子选中全部正确的单选框。

:not(selector) $("input :not([type=text])")

:contains(text) $("input:contains('正确')")

组合起来 $("input:contains('正确'):not(contains('部分正确'))")

其它CSS伪类选择器

type child
:first-of-type :first-child
:last-of-type :last-child
:only-of-type :only-child
:nth-of-type(n) :nth-child(n)
:nth-last-of-type(n) :nth-last-child(n)

三、使用伪类选定第k个元素

<!DOCTYPE html>
<html> <head>
<title></title>
<style type="text/css">
/*使用first-child和last-child*/ p:first-child {
color: red;
} p:last-child {
color: blue;
}
/*nth-child(参数),比较灵活,注意n表示自然数,从0,1,2,开始;nth-child(编号),编号从1开始*/ p:nth-child(0) {
color: red;
}
/*nth-last-child(参数)表示倒数几个元素*/ p:nth-last-child(3) {
color: green;
}
/*因为n从0~无穷,当n小于1时没有意义,所以下列css选定前两个元素*/ p:nth-child(-n+2) {
color: purple;
}
/*因为n从0~无穷,下列css选定的是1,3,5,7...元素*/ p:nth-child(2n+1) {
color: yellow;
}
</style>
</head> <body>
<p>one</p>
<p>two</p>
<p>three</p>
<p>four</p>
<p>five</p>
<p>six</p>
</body> </html>

四、hover伪类不生效的原因

有一个div,div内文本颜色为蓝色,当鼠标悬浮时div内文本颜色变红。

<html>
<head>
<meta charset="utf8" />
<style>
div:hover {
color: red;
}
</style>
</head> <body>
<div style="color:blue">haha</div>
</body>
</html>

以上代码并不能实现这样的功能,div内的文本一直是蓝色。原因在于:内联形式的属性选择比外部样式优先级要高,在外部样式中使用important可以解决问题。

CSS中的偏僻知识点的更多相关文章

  1. css 中font属性知识点总结

    一. font属性值可以继承.例如子元素可以继承父元素的行高,字体大小等等. 二.font属性可以进行连写:font: font-sytle  font-weight  font-size/line- ...

  2. 前端笔试面试中的常用知识点总结(CSS)

    1.CSS选择器的优先级!important  > 内联 > id选择器 > 类选择器 > 标签选择器多个类选择器叠加(256)之后的优先级大于一个id选择器!importan ...

  3. CSS中对图片(background)的一些设置心得总结

    写网页的时候很多情况需要对图片进行操作,如何在不进行专业的美工裁切操作的情况下而让自己的素材度达到最大的满意度呢,这是一个问题,对于懒得开ps切图的我,通常会直接在网络上download一张图片,直接 ...

  4. 深入理解CSS中的层叠上下文和层叠顺序(转)

    by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=5115 零.世间的道 ...

  5. 深入理解css中的margin属性

    深入理解css中的margin属性 之前我一直认为margin属性是一个非常简单的属性,但是最近做项目时遇到了一些问题,才发现margin属性还是有一些“坑”的,下面我会介绍margin的基本知识以及 ...

  6. css中的浮动以及清除浮动

    对于css中的浮动问题,曾经有一段时间我是懵懵懂懂的感觉,对于float这个属性一直是似懂非懂的赶脚,对于这种让我们一直懵懵懂懂的知识点,我们就需要找个时间点,仔仔细细的去将它搞懂,从这个过程中我们也 ...

  7. CSS中盒子模型和position(一)

    今天遇到几个css中的重要的知识点,记得这些都是以前看过的:margin.padding.border和position.可是用起来还是有很多的问题,以前自己看过去总是懒得记录,等到用起来了都不知道自 ...

  8. CSS中Position属性

    也许你看到这个标题觉得很简单,确实这是一篇关于CSS中Position属性基础知识的文章,但是关于Position的一些细节也许你不了解. 1.简介 position有五个属性: static | r ...

  9. 【转】CSS中的浮动和清除浮动

    以下转自<CSS中的浮动和清除浮动,梳理一下!> 浮动到底是什么? 浮动核心就一句话:浮动元素会脱离文档流并向左/向右浮动,直到碰到父元素或者另一个浮动元素.请默念3次! 浮动最初设计的目 ...

随机推荐

  1. visual studio 2015百度云下载

    visual studio 2015百度云下载 https://pan.baidu.com/s/1b198Zo3mX5_zA2VX3xRRfw 提取码: 关注公众号[GitHubCN]回复2015获取

  2. JS实现品字布局

    在网页后台中常用的布局是头部+侧边栏的形式 为了省去多于代码和重复修改多个页面 头部和侧边栏都是共用的,一直不改变的,所以写死在页面中. 中间的内容根据点击而发生改变,所以用iframe包起来 如何实 ...

  3. asp.net core 微信APP支付(扫码支付,H5支付,公众号支付,app支付)之4

    微信app支付需要以下参数,类封装如下 public class WxPayModel { /// <summary> /// 应用ID /// </summary> publ ...

  4. 完美的mysql备份脚本

    转自:https://www.cnblogs.com/leffss/p/7832047.html #!/bin/bash #全备方式,一般在从机上执行,适用于小中型mysql数据库 #删除15天以前备 ...

  5. Storm通信机制(了解)

    Worker间的通信:经常需要通过网络跨节点进行,Storm使用ZeroMQ或Netty(0.9以后默认使用)作为进程间通信的消息框架. Worker进程内部通信:不同worker的thread通信使 ...

  6. BZOJ1406 [AHOI2007]密码箱 数论

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1406 题意概括 求所有数x,满足 x<n 且 x2≡1 (mod  n). n<=2 ...

  7. pandas.cut使用总结

    用途 pandas.cut用来把一组数据分割成离散的区间.比如有一组年龄数据,可以使用pandas.cut将年龄数据分割成不同的年龄段并打上标签. 原型 pandas.cut(x, bins, rig ...

  8. Android 之 tools:context和tools:ignore两个属性的作用

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools= ...

  9. Centos7与Windows10添加Windows10启动项并设置为默认启动

    在Centos7下root登陆 编辑 /boot/grub2/grub.cfg vim /boot/grub2/grub.cfg 在第一行添加 menuentry "Windows10&qu ...

  10. 在Ubuntu中成功搭建KMS服务器

    介绍 基于vlmcsd搭建的KMS服务器. 根据github上的说明,这个工具是用C写的,没有任何依赖,可以直接运行.而且它横跨几乎现在所有的系统平台,如Android, FreeBSD, Solar ...