用css 只控制第一个li的样式怎么控制?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用css 只控制第一个li的样式怎么控制?相关的知识,希望对你有一定的参考价值。

用css 只控制第一个li的样式怎么控制?除了增加第一个li标签的css,用伪类:first-child,还有别的方法吗?不用js,jq,只限更改css,求高人指点!谢谢。。

很多方法都是可以实现值控制一个li样式而不影响其他的,最简单的是给第一个li设置一个id或者设置一个单独的class,也可以使用最新的css3选择器。

工具原料:编辑器、浏览器

1、设置类或者id的方法

简单的代码示例如下:

<body>
<ul>
<li id="special">111</li>
<li>222</li>
<li>333</li>
<li>444</li>
<li>555</li>
</ul>
<style>
#special
background: #ccc;

</style>
</body>

2、使用css3的选择器

<body>
<ul>
<li id="special">111</li>
<li>222</li>
<li>333</li>
<li>444</li>
<li>555</li>
</ul>
<style>
li:first-child
 
background-color:yellow;

</script>
</body>
参考技术A 单独定义一个ID或是CLASS不就行了嘛本回答被提问者采纳

jquery判断是不是添加样式

html:<ul>
<li>第一行<div class="hover">sdsdsd</div></li>
<li>第二行</li>
<li>第三行</li>
</ul>
要求:鼠标经过时li添加背景色,离开时删除背景色,如果li的class=“hover”是显示的,则鼠标经过时li不添加背景色。。。请问用jquery怎么做,O(∩_∩)O谢谢

如果只是单纯的想防止背景色突出的话,没必要判断,会以hover的为主,不加!important的前提
可以看下面的例子
1.定义了!important的
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<style>
.backcolor
background-color:#00CCCC !important;

.hover
background-color:#FF6600;

</style>
<script src="js/jquery-1.4.4.js" language="javascript" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function()
$("ul li").hover(
function ()
//if (!$(this).hasClass("hover"))
$(this).addClass("backcolor");
,
function ()
$(this).removeClass("backcolor");

);
);

</script>
<body>
<ul>
<li class="hover">第一<div>行sdsdsd</div></li>
<li>第二行</li>
<li>第三行</li>
</ul>
</body>
</html>
2.不定义!important的
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<style>
.backcolor
background-color:#00CCCC;

.hover
background-color:#FF6600;

</style>
<script src="js/jquery-1.4.4.js" language="javascript" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function()
$("ul li").hover(
function ()
//if (!$(this).hasClass("hover"))
$(this).addClass("backcolor");
,
function ()
$(this).removeClass("backcolor");

);
);

</script>
<body>
<ul>
<li class="hover">第一<div>行sdsdsd</div></li>
<li>第二行</li>
<li>第三行</li>
</ul>
</body>
</html>
3.加判断的
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<style>
.backcolor
background-color:#00CCCC;

.hover
background-color:#FF6600;

</style>
<script src="js/jquery-1.4.4.js" language="javascript" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function()
$("ul li").hover(
function ()
if (!$(this).hasClass("hover"))
$(this).addClass("backcolor");
,
function ()
$(this).removeClass("backcolor");

);
);

</script>
<body>
<ul>
<li class="hover">第一<div>行sdsdsd</div></li>
<li>第二行</li>
<li>第三行</li>
</ul>
</body>
</html>
参考技术A <ul id="tabfirst">
<li class="hover">第一行</li>
<li>第二行</li>
<li>第三行</li>
</ul>
$("#tabfirst li").each(function(index)
$(this).mouseover(function() $(this).removeClass("hover");
$(this).addClass("hover");
);
);
我没验证,用法是大概是这样,具体你自个看下吧,应该不还要用到mouseout方法,鼠标移出时
参考技术B 用jquery的hover(over,out)事件
$("ul>li").hover(
function()
if($(this).attr("class")!="hover")
$(this).css("background-color","#FF0000");

,
function()
if($(this).attr("class")!="hover")
$(this).css("background-color","#FFFFFF");


);
参考技术C 查下 api撒

以上是关于用css 只控制第一个li的样式怎么控制?的主要内容,如果未能解决你的问题,请参考以下文章

css控制ul标签下li样式

css怎么默认打开第一个一级菜单

CSS父元素的子元素样式控制另一子元素怎么实现?

css3选择器怎么选择第3个,第6个,第9个,第12个……元素??

怎么定义css?

CSS样式中 li + li表示啥意思?