关于CSS

一、CSS

  • Cascading Style Sheets:层叠样式表
  • 用来控制标签样式

二、CSS语法: 键值对

color: red;

三、CSS位置

3.1.行内
<div style="color: blue; font-size: 28px; background-color: aqua;">容器标签</div>
3.2.页内
<style>
    body{
        color: red;
    }
</style>
3.3.外部:单独CSS文件中,用link标签引用
<link href="css/index.css" rel="stylesheet">
// CSS文件中代码
div{
   color: olivedrab;
   font-size: 66px;
   background-color: greenyellow;
}
p{
   color: goldenrod;
   font-size: 2px;
   border: 2px dashed darkolivegreen;
}

四、CSS选择器

4.1.普通选择器
  • 选择某一类标签添加样式: div
<style>
    div{
        color: red;
    }
    p{
        color: blue;
    }
</style>
  • 选择某个类(class)标签添加样式: .test1
<style>
    .test1{
        color: green;
     }
</style>
  • 选择某一 id标签添加样式: #main
<style>
    #main{
       font-size: 40px;
    }
</style>
  • 并列选择器: #main, .test1
    id="main" 或者 class="test1" 都会被选中
<style>
    #main, .test1{
        border: 1px solid rosybrown;
    }
</style>
  • 复合选择器: p.test1
<body>
    <p class="test1">我是段落标签</p>
</body>

<style>
    p.test1{
        background-color: yellow;
    }
</style>
  • 后代选择器 div a
<body>
    <div class="test1"> 
        我是div标签 
        <a href="#">我是超链接</a> 
          <div> 
             <a href="#">我是二级链接</a> 
          </div> 
    </div>
</body>
// div里面所有的a,无论多少个层级
<style>
    div a{
        color: red;
    }
</style>
  • 直接后代选择器 : >
<body>
    <div class="test1"> 
        我是div标签 
        <a href="#">我是超链接</a> 
          <div> 
             <a href="#">我是二级链接</a> 
          </div> 
    </div>
</body>

<style>
    // 直接后代 >
    div.test1>a{
        color: green;
    }
</style>
  • 相邻兄弟选择器: div + p
    • 第一个p标签会被选中
<body>
    <div>我是div标签</div>
    <p>我是段落标签p1</p>
    <p>我是段落标签p2</p>
</body>

<style>
    div + p {
        color: red;
    }
</style>
  • 属性选择器: div[name]
<div name="Jack">我是div标签</div>
div[name]{
   color: red;
}
  • 通配选择符: *
//级别非常低,性能比较差 
*{  
  font-size: 30px ;
}
4.2.伪类选择器
  • focus 向有键盘输入焦点的元素添加样式
<style>
input:focus{
    outline: none; // 去除外线条
    width: 500px; // 改变宽度和高度
    height: 50px;
    font-size: 20px; // 改变文字的大小
}
</style>
  • hover 鼠标移动到元素上时候,改变元素的样式
#main:hover{
    width: 300px;
    height: 200px;
    background-color: aqua;
}

五、选择器的优先级别

  • 选择器的权值加在一起,大的优先。如果相等,后定义优先
    • 通配选择符:0
    • 标签: 1
    • 伪元素: 1
    • 类: 10
    • 属性: 10
    • 伪类: 10
    • id: 100
    • important: 1000
  • important > 内联 > id > 类 > 标签 | 伪类 | 属性选择 > 伪元素 > 通配符 > 继承

六、CSS属性

6.1.可继承属性
  • 所有标签可继承
    visibility // 元素是否可见
    cursor // 显示的光标的类型
<style>
    div{
         visibility: hidden; 
         cursor: help; 
    }
</style>
  • 内联标签可继承
    letter-spacing、word-spacing、white-space、line-height、color、font、font-family、font-size、font-style、font-variant、font-weight、text-decoration、text-transform、direction

  • 块级标签可继承
    text-indent、text-align

  • 列表标签可继承
    list-style、list-style-type、list-style-position、list-style-image

6.2.不可继承属性
  • 常用
    display、margin、border、padding、background、height、min-height、max-height、width、min-width、max-width、overflow、position、left、right、top、bottom、z-index、float
  • 不常用
    clear、table-layout、vertical-align、page-break-after、page-bread-before、unicode-bidi

七、CSS实战应用-重点举例

  • 1.设置文本中间划杠
text-decoration: line-through; // 中间有线
text-decoration: none; // 无下划线等
text-shadow: 10px 10px 9px purple; // 设置文字阴影
  • 2.首行缩进
text-indent: 2%;
  • 3.处理超出的内容: hidden直接裁剪
overflow: scroll;
  • 5.设置自己的下划线
border-bottom: 1px solid #dddddd;
  • 6.无序列表,去除黑点
ul{
    list-style: none;
}
  • 7.no-repeat:不平铺
background: url("images/bg.jpeg") no-repeat;
  • 8.覆盖一整页
background-size: cover
  • 9.设置边框
border: 2px solid black;
  • 10.设置内边距
padding:10px;
  • 11.设置外边距
margin: 30px;
  • 12.设置透明度
background-color: rgba(255,0,0,1.0);
  • 13.设置圆角
border-radius: 20px;
  • 14.设置上左的圆角
border-top-left-radius: 100px;
  • 15.设置下右的圆角
border-bottom-right-radius: 100px;
  • 16.设置不透明度
opacity: 0.1;
  • 17.设置块阴影
box-shadow: 10px 10px  10px purple;
  • 19.浮动(到父标签的左边和右边,上边,下边)
    • 任何标签只要一浮动,类型就会被转为行内-块级标签
float: left;
  • 20.相对浏览器进行定位
position: fixed;
  • 21.停留在父标签的任意位置
/*子绝父相*/
position: relative;
position: absolute;
  • 22.设置水平居中,垂直居中:适用于行内标签和行内-块级标签
text-align: center;
line-height: 200px;
  • 23.设置水平居中,垂直居中:适用于块级标签
// 先设置高度
margin:0 auto;
position left top tanslate
  • 24.设置input的外边框
box-sizing: border-box;
  • 25.伪类: 去除input外边框,设置自定义边框
#main .search input:focus{
    outline: none;
    border:1px solid #3385ff;
}
  • 26.去除按钮边框
border: 0;
  • 27.伪类:去除按钮外边框
.login-btn:focus{
    outline: none;
}
  • 28.字体加粗
/*加粗*/
font-weight: bolder;
/*不加粗*/
font-weight: normal;
  • 29.设置字体
font-family: 'Arial';
  • 30.改变标签的类型
display: inline-block;
display: none; // 设置标签是否显示
  • 31.设置鼠标在图片之上的时候,图片的透明度
#main .normal-search img:hover{
    opacity: 0.5;
}
  • 32.设置标签们的属性(和通配选择符差不多)
a, address, b, big, blockquote, body, center, cite, code, dd, del, div, dl, dt, em, fieldset, font, form, h1, h2, h3, h4, h5, h6, html, i, iframe, img, ins, label, legend, li, ol, p, pre, small, span, strong, u, ul, var{
    padding: 0;
    margin: 0;
}

33.图片居中

vertical-align: middle;

34.导入字体

@font-face {
    font-family: BebasNeue-webfont;
    src: url('../fonts/BebasNeue-webfont.ttf');
}

35.设置背景图片

background: url("../images/pattern.gif");

36.自适应布局

@media screen and (max-width: 1095px){
    #nav ul li a{
        width: 150px;
    }
}

@media screen and (max-width: 844px){
    #nav ul li a{
        width: 60px;
        font-size: 14px;
        height: 35px;
        line-height: 35px;
    }
    #list {
       margin-top: 60px;
    }
}

37.在body中垂直水平居中

#footer{
    background-color: chartreuse;
    height: 60px;
    width: 400px;
    
    position: fixed;
    left:50%;
    top:50%;
    transform: translate(-50%, -50%);
}

38.动画的过度效果

  • 百度搜索 w3cschool trasform属性,就会出现属性相关用法
  • transition 自动弹出代码
  • 这是对于不同浏览器的适配
  • 第二个参数表示动画的用时
    -webkit-transition: linear 0.25s;
    -moz-transition: linear 0.25s;
    -ms-transition: linear 0.25s;
    -o-transition: linear 0.25s;
    transition: linear 0.25s;
  • 动画方向
-webkit-transform-origin: center bottom;
  • 设置动画的效果
-webkit-transform: scale(1.5);

39.剪裁超出部分

overflow: hidden;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342