一、css用户界面样式----所谓界面样式,就是更改一些用户操作样式,比如用户鼠标样式,表单轮廓,防止表单拖拽等。
1、鼠标样式cursor--设置或检索在对象上移动的鼠标指针采用何种系统预定义的光标形状。
cursor:default/pointer(小手)/move(移动)/text(文本)
2、轮廓outline--是绘制于元素周围的一条线 ,位于边框边缘的外围,可起到突出元素的作用。
outline:outline-color||outline-style}}outline-width
但是平时我们的用法都是去掉的,最直接的写法是outline:0或者outline:none;
例如:<input type="text" style="outline:0;"/>
3、阻止拖拽文本域resize
resize:none;可以防止火狐、谷歌等浏览器随意地拖拽文本域。
4、vertical-align垂直对齐
我们已经知道让带有宽度的块级元素居中对齐是margin:0 auto;
让文字居中对齐是text-align:center
我们用以下代码设置或检索对象内容的垂直对齐方式:vertical-align:baseline|top|middle|bottom
现在我们要学习的是垂直对齐vertical-align,它不影响块级元素中的内容对齐,只针对于行内元素或行内块元素,特别是行内块元素,通常用来控制图片/表单与文字的对齐。
图片、表单和文字对齐---默认的图片会与文字基线对齐;
去除图片底侧空白缝隙
图片或表单等行内块元素,他的底线会和父盒子的基线对齐,这样会造成一个问题,就是图片底侧会有一个空白缝隙。
解决方法就是:
1、给img vertical-align:middle|top等等,让图片不要和基线对齐。
2、给img添加display:block;转换为块级元素就不会存在问题了;
二、溢出的文字隐藏
1、word-break:自动换行
normal:使用浏览器默认的换行规则。
break-all:允许在单词内换行
keep-all:只能在半角空格或字符处换行。
主要处理英文单词
2、white-space----设置或检索对象内文本显示方式,通常我们使用于强制一行显示内容。
normal:默认处理方式
nowrap:强制在一行内显示所有文本,直到文本结束或遭遇br标签对象才换行。
可以处理文字。
3、text-overflow文字溢出
text-overflow:clip|ellipsis
设置或检索是否使用一个省略标志(...)标示对象内文本的溢出。
clip:不显示省略标志,而是简单的剪切。
ellipsis:当对象内文本溢出时显示省略标志。
注意一定要首先强制在一行内显示,再次和overflow属性搭配使用。
三、css精灵技术(split)
当用户访问一个网站时,需要向服务器发送请求,网页上的每张图像都要经过一次请求才能展现给用户。
然而,一个网页中往往会应用很多小的背景图像作为修饰,当网页中的图像过多时,服务器就会频繁地接受和发送请求,这将大大降低页面的加载速度。为了有效地减少服务器接受和发送请求的次数,提高页面的加载速度,出现了CSS精灵技术(也称CSS Sprites、CSS雪碧)。
精灵技术的本质:
CSS精灵是一种处理网页背景图像的方式。它将一个页面涉及到的所有零星背景图像都集中到一张大图中去,然后将大图应用于网页,这样,当用户访问该页面时,只需向服务发送一次请求,网页中的背景图像即可全部展示出来。通常情况下,这个由很多小的背景图像合成的大图被称为精灵图(雪碧图),如下图所示为京东网站中的一个精灵图。
精灵技术的使用
CSS 精灵其实是将网页中的一些背景图像整合到一张大图中(精灵图),然而,各个网页元素通常只需要精灵图中不同位置的某个小图,要想精确定位到精灵图中的某个小图,就需要使用CSS的background-image、background-repeat和background-position属性进行背景定位,其中最关键的是使用background-position属性精确地定位。
四、滑动门
滑动门出现的背景
制作网页时,为了美观,常常需要为网页元素设置特殊形状的背景,比如微信导航栏,有凸起和凹下去的感觉,最大的问题是里面的字数不一样多,咋办?
为了使各种特殊形状的背景能够自适应元素中文本内容的多少,出现了CSS滑动门技术。它从新的角度构建页面,使各种特殊形状的背景能够自由拉伸滑动,以适应元素内部的文本内容,可用性更强。 最常见于各种导航栏的滑动门。
核心技术
核心技术就是利用CSS精灵(主要是背景位置)和盒子padding撑开宽度, 以便能适应不同字数的导航栏。
一般的经典布局都是这样的:
html <li> <a href="#"> <span>导航栏内容</span> </a> </li>
总结:
- a 设置 背景左侧,padding撑开合适宽度。
- span 设置背景右侧, padding撑开合适宽度 剩下由文字继续撑开宽度。
- 之所以a包含span就是因为 整个导航都是可以点击的。