Java EE之旅02-CSS基础

css的简介

什么是css

  1. 概念:层叠样式表,css是对html进行样式修饰语言
  2. 层叠:就是层层覆盖叠加,如果不同的css样式对同一html标签进行修饰,样式有冲突的部分应用优先级高的,不冲突的部分共同作用
  3. 样式表:就是css属性样式的集合

css的作用

  1. 修饰html的 使其html样式更加好看
  2. 提高样式代码的复用性
  3. html的内容与样式相分离 便于后期维护。类似于Android中的Style。

css的引入方式和书写规范

(1)内嵌样式
    内嵌样式是把css的代码嵌入到html标签中
    <div style="color:red;font-size: 100px;">你好啊 小朋友</div>
    语法:
        (1)使用style属性将样式嵌入到html标签中
        (2)属性的写法:属性:属性值
        (3)多个属性之间使用分号;隔开
    不建议使用
(2)内部样式
    在head标签中使用style标签进行css的引入
    <style type="text/css">
        div{color:red;font-size: 100px;}
    </style>
    语法:
        (1)使用style标签进行css的引入
            <style type="text/css">
                属性:type:告知浏览器使用css解析器去解析
        (2)属性的写法:属性:属性值
        (3)多个属性之间使用分号;隔开

(3)外部样式(用得最多)
    将css样式抽取成一个单独css文件 谁去使用谁就引用
    <link rel="stylesheet" type="text/css" href="demo1.css"/>
    语法:
        (1)创建css文件 将css属性写在css文件中
        (2)在head中使用link标签进行引入
            <link rel="stylesheet" type="text/css" href="css文件地址"/>
            rel:代表要引入的文件与html的关系
            type:告知浏览器使用css解析器去解析
            href:css文件地址
        (3)属性的写法:属性:属性值
        (4)多个属性之间使用分号;隔开
(4)@import方式
    <style type="text/css">
        @import url("css地址");
    </style>
    link与@import方式的区别:
        (1)link所有浏览器都支持 import部分低版本IE不支持
        (2)import方式是等待html加载完毕之后再加载
        (3)import方式不支持js的动态修改

css选择器

1、基本选择器
    (1)元素选择器
        语法:html标签名{css属性}
        示例:
            <span>hello css!!!</span>
            <style type="text/css">
                span{color:red;font-size:100px; }
            </style>
    (2)id选择器    id唯一性
        语法:#id的值{css属性}
        示例:
            <div id="div1">hello css1!!!</div>
            <div id="div2">hello css2!!!</div>
            <style type="text/css">
                #div1{background-color: red;}
                #div2{background-color: pink;}
            </style>
    (3)class选择器
        语法:.class的值{css属性}
        示例:
            <div class="style1">div1</div>
            <div class="style1">div2</div>
            <div class="style2">div3</div>
            <style type="text/css">
                .style1{background-color: red}
                .style2{background-color: pink}
            </style>
    
    ***选择器的优先级:id>class>元素,优先级高的会覆盖低的

2、属性选择器
    语法:基本选择器[属性=‘属性值’]{css属性}
    示例:
        <form action="">
            name:<input type="text" /><br/>
            pass:<input type="password" /><br/>
        </form>
        <style type="text/css">
            input[type='text']{background-color: yellow}
            input[type='password']{background-color: pink}
        </style>    

3、伪元素选择器
    a标签的伪元素选择器
        语法:
            静止状态    a:link{css属性}
            悬浮状态    a:hover{css属性}
            触发状态    a:active{css属性}
            完成状态    a:visited{css属性}
        示例:
            <a href="#">点击我吧</a>
            <style type="text/css">
                a:link{color:blue}
                a:hover{color:red}
                a:active{color:yellow}
                a:visited{color:green}
            </style>    

4、层级选择器
    语法:父级选择器 子级选择器 .....
    示例:
        <div id="d1">
            <div class="dd1">
                <span>span1-1</span>
            </div>
            <div class="dd2">
                <span>span1-2</span>
            </div>
        </div>
        <div id="d2">
            <div class="dd1">
                <span>span1-1</span>
            </div>
            <div class="dd2">
                <span>span1-2</span>
            </div>
        </div>
        
        <style type="text/css">
            #d1 .dd2 span{color:red}
        </style>

css属性

1、文字属性
    font-size:大小
    font-family:字体类型        

2、文本属性
    color:颜色
    text-decoration:下划线
        属性值:none    underline   
    text-align:对齐方式
        属性值:left  center  right
        <div>hello css!!!</div>
        <a href="#">click me!!!</a>
        <style type="text/css">
            div{color:red;text-decoration: underline;text-align: right }
            a{text-decoration: none;}
        </style>

3、背景属性
    background-color:背景颜色
    background-image:背景图片
        属性值:url("图片地址");
    background-repeat:平铺方式
        属性值:默认横向纵向平铺
                repeat:横向纵向平铺
                no-repeat:不平铺
                repeat-y:纵向
                repeat-x:横向
    
    body{
        background-color: black;
        background-image: url("images/dog.gif");
        background-repeat: repeat-y;
    }

4、列表属性
    list-style-type:列表项前的小标志
        属性值:太多了
    list-style-image:列表项前的小图片
        属性值:url("图片地址");
        
        <ul>
            <li>黑马程序员</li>
            <li>黑马程序员</li>
            <li>黑马程序员</li>
            <li>黑马程序员</li>
        </ul>
        <style type="text/css">
            /* ul{list-style-type: decimal-leading-zero;} */
            ul{list-style-image: url("images/forward.gif");}
        </style>

5、尺寸属性  
    width:宽度
    height:高度
        <div id="d1">div1</div>
        <div id="d2">div2</div>
        <style type="text/css">
            #d1{background-color: red;width: 200px;height: 200px;}
            #d2{background-color: pink;width: 200px;height: 200px;}
        </style>

6、显示属性
    display:
        属性值:none:隐藏
                block:块级显示
                inline:行级显示
        
        <form action="">
            name:<input id="name" type="text" /><span id="span">对不起 输入不符合要求</span>
            <br>
            pass:<input id="pass" type="password" />
            <br>
            <input id="btn" type="button" value="button" />
        </form>
        <style type="text/css">
            span{color:red;display: none}
        </style>
        <script type="text/javascript">
            document.getElementById("btn").onclick = function(){
                document.getElementById("span").style.display = "inline";
            };
        </script>

7、浮动属性
    float:
        属性值:left  right
                clear:清除浮动 left right both
        缺点: (1)影响相邻元素不能正常显示
                (2)影响父元素不能正常显示

css盒子模型

相关的概念与Android类似,如下图所示:

image.png

盒模型中相关的概念有:

border:
    border-width:边框的宽度
    border-color:边框的颜色
    border-style:边框的线型
    
    border-top:上边框
    border-bottom:下边框
    border-left:左边框
    border-right:右边框
            
padding:
    代表边框内壁与内部元素之间的距离
    padding:10px;代表上下左右都是10px
    padding:1px 2px 3px 4px;上右下左
    padding:1px 2px;上下/左右
    padding:1px 2px 3px;
    padding-top:单独设置

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,431评论 25 707
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,727评论 1 92
  • 本文主要是起笔记的作用,内容来自慕课网. 认识CSS样式 CSS全称为“层叠样式表 (Cascading Styl...
    0o冻僵的企鹅o0阅读 2,618评论 0 30
  • 《罗马帽子之谜》作者为埃勒里·奎因,若不是无意间搜索了一下,必然以为这是一个人,没想到这是一对表兄弟联合创造...
    君子喵阅读 668评论 0 2
  • 自恕 飞树 一针游孽 ...
    飞树阅读 481评论 1 2