通过js来改变CSS属性,使用jQuery可以很方便的实现,像这样:
$("img").css('border-color','red')
就可以把边框颜色都变成红色。
这是针对此问题的测试页面
2、这是3张图片
<img src='https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=975878983,2392470128&fm=11&gp=0.jpg'>
<img src='https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=61343736,951557457&fm=11&gp=0.jpg'>
<img src='https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=1354592590,1762022981&fm=11&gp=0.jpg'>
3、这是图片的样式,边框默认为灰色。
img{
max-width:200px
border-color:gray
border-width:10px
border-style:solid
}
4、现在通过这几行用到jQuery的代码,控制图片边框根据鼠标移入移出边框变灰和变红。
$(function(){
$("img").on('mouseover',function(){
$(this).css('border-color','red')
}).on('mouseout',function(){
$(this).css('border-color','gray')
})
})
5、效果如图
1、 元素类型的转换(display属性)
Display属性
属性值:
Block
Inline
None
大部分块状元素默认的display的值为block,其中li默认的值 list-item(列表元素)
大部分内联元素默认的display值为inline,其中input默认的值为:inline-block(行内块元素);
内联元素里面特殊的一个:行内块元素(内联块元素)
特点:
1:可以设置宽高
2:在一行内逐个显示
3:当前元素的display的值为inline-block能支持vertical-align 属性。
2、 vertical-align属性
vertical-align:垂直对齐。
Top
Bottom
Middle
Baseline
让一个元素在父元素里面左右上下居中:
给父元素添加text-align:center(左右居中)
给当前元素添加:
Display:inline-bolck
Vertical-align:middle
在当前元素后面(不要回车),添加一个空的span标签。
给span设置样式:
Display:inline-block
Width:0
Height:100%
Vertical-align:middle
3、 css元素类型的分类总结
分类:块状元素、内联元素、可变元素
元素类型的转换:
Display属性:
属性值:
Block
Inline
Inline-book
None
List-item
行内块元素:input display为inline-blcok1Img标签:浏览器默认解析的display值为inline
标签的嵌套规则:
尽量让块状元素作为父元素存在;
内联元素的子元素尽量也是内联元素;
P标签中不能出现h1-h6;
P标签和h1-h6不能互相嵌套。
4、 图片默认的display属性值为inline,为什么图片能添加宽高???
从另一个角度对所有的标签进行分类。
分为:置换元素与非置换元素
置换元素:
典型的置换元素:img/input 依赖标签的属性或者元素自身的类型;‘
因为img是置换元素,所以能添加大小。因为置换元素在页面显示的过程中,生成一个框(框架),这个框能添加大小。
非置换元素:
不是置换元素的都是非置换元素。
5、 定位
定位:让元素的位置发生改变。
定位属性:
Position属性:设置或者检索元素定位方式。
(如果元素有了position属性,元素就知道自己要做位置移动了)
Position的属性值:(属性值是告诉元素参照物是谁)
制定坐标:left/right/top/bottom
Position的属性值:
1:position:static 【静态定位】 (position的默认值)
2:position:absolute 【绝对定位】
a. 绝对定位的参照物:
已经有定位的父元素为参照物
如果父元素都没有定位或者没有父元素,以文档为参照物
b. 绝对定位的特点:
不占据空间,脱离布局流。
第一个 :此元素将显示为块级元素,此元素前后会带有换行符。解释:例如你在一个DIV中引用此样式,接下来的元素会默认排列在此DIV之下。
display官方说明:这个属性用于定义建立布局时元素生成的显示框类型。对于 HTML 等文档类型, 如果使用 display 不谨慎会很危险,因为可能违反 HTML 中已经定义的显示层次结构。对于 XML,由于 XML 没有内置的这种层次结构,所有 display 是绝对必要的。
第二个:是指当元素超出显示范围时,元素的浮动位置
解释:这个你用textarea自己写一下,然后输入文本,让文本超过输入区域,你就看出区别来了
folate官方说明:float 属性定义元素在哪个方向浮动。以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。
如果浮动非替换元素,则要指定一个明确的宽度;否则,它们会尽可能地窄。
以上是参考,可以参见CSS官方文档,英文的会更容易理解些。