background-repeat 平铺方式
默认:会水平垂直都铺满背景图
repeat-x x轴平铺 repeat-y y轴平铺
repeat ( x , y 都进行平铺,默认值 )
no-repeat 都不平铺 background-position : 背景位置 x y : number(px、%) | 单词 x : left、center、right y : top、center、bottom background-attachment : 背景图随滚动条移动的方式 scroll : 默认值 ( 背景位置是按照当前元素进行偏移的 ) fixed ( 背景位置是按照浏览器进行偏移的 )
border-style : 边框样式 < solid : 实线, dashed : 虚线 , dotted : 点线>
border-width : 边框大小
边框也可以针对某一天边进行单独设置 : border-left-style : 中间是方向 left、right、top、bottom
颜色:透明颜色 transparent
text-decoration:文本装饰 下划线 : underline 删除线 :line-through 上划线 : overline 不添加任何装饰 : none 注:添加多个文本修饰:line-through underline overline
text-transform:文本大小写 ( 针对英文段落 ) 小写:lowercase 大写:uppercase 只针对首字母大写:capitalize
text-indent : 文本缩进 首行缩进 em单位:相对单位,1em永远都是跟字体大小相同
text-align : 文本对齐方式 对齐方式 : left 、right、center、justify(两端点对齐)
line-height : 定义行高
取值:1. number( px ) | scale ( 比例值 , 跟文字大小成比例的 )
letter-spacing : 字之间的间距 word-spacing : 词之间的间距 ( 针对英文段落的 )
英文和数字不自动折行的问题: 1. word-break : break-all; (非常强烈的折行) 2. word-wrap : break-word;(不是那么强烈的折行 ,会产生一些空白区域)
background:(backgroud-color) (background-image) (background-repeat)/平铺方式/
例:backgournd : gray url(xxx/xx.jpg) no-repeat;
border: border-width border-style border-color;
例:border: 1px solid #D3f402;
边框颜色可省略,默认黑色。border:3px dashed;
顺序不能反!!!
font:font-style font-weight font-family font-size line-height
margin:margin-top marigin-right margin-bottom margin-left
padding同理。
颜色的三种写法
color: DarkGoldenRod;
color:rgb(184,134,11)
color:#B8860B;
#elem{} id=”elem”
注:
.box{} class=”elem”
注:
class选择器是可以复用的。
可以添加多个class样式。
<div class="content box"></div>
多个样式的时候,样式的优先级根据CSS决定,而不是class属性中的顺序。
标签+类的写法
div{}
p{}
应用:
可以通过逗号的方式,给多个不同的选择器添加统一的CSS样式,来达到代码的复用。
<style>
div , #text , .title{ background:red;}
<style>
*{ } -> div,ul,li,p,h1,h2….{}
注:尽量避免使用通配选择器,因为会给所有的标签添加样式,慎用。 使用的场景:去除默认样式
*{margin:0; padding:0;}
后代 M N { }
#list li{border:1px solid red;}
父子 M > N { }
#list > li{border:1px solid red;}
兄弟 M ~ N { } 当前M下面的所有兄弟N标签
div ~ h2{backgroun:red;}
/* h2标签在div标签的下面 */
相邻 M + N { } 当前M下面相邻的N标签
div + h2{backgroun:red;}
div[class]{background:red;}
div[class=box]{background:red;}
div[class=*seaech]{background:red;}
div[class=^seaech]{background:red;}
div[class=$seaech]{background:red;}
div[class][id]{background:red;}
<div>aaaaa</div>
<div class="box" id="elem">bbbb</div>
<div class="search">cccccc</div>
<div class="search-button">ddddd</div>
<div class="button-search">ddddd</div>
M:伪类{} :link 访问前的样式 ( 只能添加给a标签 ) :visited 访问后的样式 ( 只能添加给a标签 ) :hover 鼠标移入时的样式 (可以添加给所有的标签) :active 鼠标按下时的样式 (可以添加给所有的标签)
注:
一般的网站都只设置
a{} ( link visited active ) a:hover{}
:after、:before
通过伪类的方式给元素添加一段文本内容,使用content属性
div:after{content:"world";color:red;}
:checked、:disabled 、:focus 都是针对表单元素的
:checked{width:100px;height:100px;}
:disabled{width:100px;height:100px;}
:focus{background:red;}
<input type="checkbox">
<input type="checkbox" checked>
<input type="checkbox" checked>
<input type="text">
li:nth-of-type(2n+1){background:red;}
li:nth-of-type(2n){background:blue;}
/*隔行换色*/
文字相关的样式可以被继承 布局相关的样式不能被继承 ( 默认是不能继承的,但是可以设置继承属性 inherit 值 )
div{width:100px ;height:100px;border:1px solid red;color:blue;font:size:21px;}
<div>
<p>hello girl</p>
<div>
<!-- hello girl的字体颜色和字体大小改变,布局没有被继承。-->
p{border:inherit;}/*此时border属性被继承。*/
当设置相同样式时,后面的优先级较高。
div{color:red;}
div{color:blue;}
/* 优先展示蓝色字体*/
内部样式和外部样式优先级相同,根据引入顺序决定优先级
单一样式优先级
inline : span 、a、em、strong、img …
inline-block : input、select …
注:布局一般用块标签,修饰文本一般用内联标签
*{ margin:0; padding:0;}
优点:不用考虑哪些标签有默认的margin和padding
缺点:稍微的影响性能
body,p,h1,ul{ margin:0; padding:0;}
ul{ list-style : none;}
a{ text-decoration: none; color:#999;}
img{ dispaly:block}
问题的现象:图片跟容器底部有一些空隙。 内联元素的对齐方式是按照文字基线对齐的,而不是文字底线对齐的。 vertical-align: baseline; 基线对齐方式,默认值 img{ vertical-align:bottom;} 解决方式是推荐的
写具体页面的时候或一个布局效果的时候: 1. 写结构 2. css重置样式 3. 写具体样式
浮动就是儿子飘了(float),老子管不住儿子了(儿子高度为空) 清除浮动三种方法 1.给儿子介绍一个对象,管住儿子不要乱跑, 对象添加 clear:both 2.把儿子锁在家里,bfc ,就是给老爷子设置 overflow:hidden / overflow:auto 或者老爷子出去逮住小崽子,一起浮动 老爷子设置 float 3.使用伪元素,就是给儿子介绍一个网恋对象(实际不存在,父亲装的) 父亲添加 类class 添加伪元素 :after content:;display:block ;clear:both上面三种,我最经常犯的错误是给错误的对象加错东西,所以再总结一下 第一种:发媳妇 给儿子后面的元素加 clear :both 第二种:给门上锁 给父亲加 overflow 或者 float 第三种:父亲假扮网恋 给父亲加 :after 然后 clear:both
我经常是把css 错加给儿子 然后怎么试都不成功,子不教,父之过,应该定准浮动的父亲做文章,就不会有问题了。
<来自网友的总结,感觉很nice,摘录了下来。>
BFC即Block Formatting Contexts(块级格式化上下文)。具有BFC特性的元素可以看作是隔离了的独立容器,容器里面的元素不会在布局上影响到外面的元素,并且BFC具有普通元素所没有的一些特性。
1.浮动元素:float除none以外的值
2.绝对定位元素:position(absolute、fixed)
3.display 为 inline-block、table-cells、flex
4.overflow除了visible以外的值(hidden、auto、scroll)
解决margin叠加问题
.div1{ width:100px; height:100px; background:red; margin-bottom: 30px;}
.div2{ width:100px; height:100px; background:blue; margin-top: 30px;}
.box{ display: flex;}
<div class="box">
<div class="div1"></div>
</div>
<div class="box">
<div class="div2"></div>
</div>
解决margin传递问题
.div1{ width:200px; height:200px; background:red; }
.div2{ width:100px; height:100px; background:blue; margin-top:50px;}
.div3{ width:200px; height:200px; background:pink; overflow: hidden;}
.div4{ width:100px; height:100px; background:green; margin-top:50px;}
<div class="div1">
<div class="div2"></div>
</div>
<div class="div3">
<div class="div4">
解决浮动问题
解决覆盖问题
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有