GVKun编程网logo

如何显示一个块的前N个元素并隐藏在css中的其他元素?(css显示块级元素)

13

想了解如何显示一个块的前N个元素并隐藏在css中的其他元素?的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于css显示块级元素的相关问题,此外,我们还将为您介绍关于c–如何获取std::ma

想了解如何显示一个块的前N个元素并隐藏在css中的其他元素?的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于css显示块级元素的相关问题,此外,我们还将为您介绍关于c – 如何获取std :: map的前n个元素、c# – 如何使用LinQ获取列表的前N个元素?、css – 下拉菜单隐藏在IE中的其他元素后面、css – 使用类定位第一个,偶数/奇数和最后一个元素,没有包装器,以及其他元素(第n类行为):)的新知识。

本文目录一览:

如何显示一个块的前N个元素并隐藏在css中的其他元素?(css显示块级元素)

如何显示一个块的前N个元素并隐藏在css中的其他元素?(css显示块级元素)

我试图隐藏在块.container内的类.row的前3个元素。

我正在做的是首先隐藏所有的.row,然后我试图通过使用.row:nth-​​child(-n 3)显示第一个3.row。

jsfiddle在这里:http://jsfiddle.net/z8fMr/1/

我在这里有两个问题:

第3行不显示,我以错误的方式使用第n个孩子吗?
>有没有更好的做法比隐藏所有的东西,然后创建一个特定的规则来显示我想要的第一个元素?有没有办法在css中显示第一个3 .row然后隐藏所有其他的.row?

谢谢。

解决方法

>你有一个.noTarow作为第一个孩子,所以你必须在你的:nth-​​child()公式中解释它。因为这个.noTarow,你的第一个.row成为父母的第二个孩子,所以你必须从第二个到第四个开始计数:
.row:nth-child(-n+4){
    display:block;
}

Updated fiddle>你在做什么很好

c – 如何获取std :: map的前n个元素

c – 如何获取std :: map的前n个元素

由于C std :: map中没有.resize()成员函数,我想知道如何获得最多n个元素的std :: map.

显而易见的解决方案是创建一个从0到n的循环,并使用第n个迭代器作为std :: erase()的第一个参数.

我想知道是否有任何解决方案不需要循环(至少不在我的用户代码中)并且更像是“STL方式”.

解决方法

你可以使用std :: advance(iter,numberofsteps).

c# – 如何使用LinQ获取列表的前N个元素?

c# – 如何使用LinQ获取列表的前N个元素?

我有一个按考试点排序的列表,我希望得到这个列表的前N个元素.
如果N(th)和N 1(th)学生具有相同的考试点,则列表必须同时具有它们.

例如,我有一个这样的列表:

john.   80  
mike.   75  
james.  70  
ashley. 70
kate.   60

前三名应该回到约翰,迈克,詹姆斯,阿什利
我试过Take(),但它只返回john,mike,james

英语不是我的主要语言,对不起,如果我说不出来的话
谢谢

解决方法

这是一个一次通过的实现:
public static IEnumerable<TSource> TopWithTies<TSource,TValue>(
    this IEnumerable<TSource> source,int count,Func<TSource,TValue> selector)
{
    if (source == null) throw new ArgumentNullException("source");
    if (selector == null) throw new ArgumentNullException("selector");
    if (count < 0) throw new ArgumentOutOfRangeException("count");
    if (count == 0) yield break;
    using(var iter = source.OrderByDescending(selector).GetEnumerator())
    {
        if(iter.MoveNext())
        {
            yield return iter.Current;
            while (--count >= 0)
            {
                if(!iter.MoveNext()) yield break;
                yield return iter.Current;    
            }
            var lastVal = selector(iter.Current);
            var eq = EqualityComparer<TValue>.Default;
            while(iter.MoveNext() && eq.Equals(lastVal,selector(iter.Current)))
            {
                yield return iter.Current;
            }
        }
    }
}

用法示例:

var data = new[]
{
    new { name = "john",value = 80 },new { name = "mike",value = 75 },new { name = "james",value = 70 },new { name = "ashley",new { name = "kate",value = 60 }
};
var top = data.TopWithTies(3,x => x.value).ToList();
foreach(var row in top)
{
    Console.WriteLine("{0}: {1}",row.name,row.value);
}

css – 下拉菜单隐藏在IE中的其他元素后面

css – 下拉菜单隐藏在IE中的其他元素后面

我已经在我的一个项目中安装了site5的Boldy主题,并遇到了一个主要问题.

在Internet Explorer(8或更低版本)中浏览时,顶部下拉菜单会显示在其他一些元素后面(主要内容滑块,H1等).我已经尝试过将所有z-index更改为固定位置的所有内容,但没有运气.

您可以访问site5的Boldy演示页面http://wordpress.site5.net/boldy/并将鼠标悬停在IE顶部菜单的博客标签上来查看问题.

我已经要求site5调查它,他们知道这个问题,但未能找到任何解决方案.

解决方法

好的原始解决方案 – Swiss credit website.这可以使用复杂的z-index解决方案.
这里有一个非常简单和改进的解决方案 – Jeyjoo stock image gallery
这适用于IE6,firefox,opera,safari和chrome

HTML

<div id="container_page">
  <div id="container_header">
    NAV BAR GOES HERE
  </div>
  <div id="container_body">
    ...body text...
  </div>
</div>

CSS

#container_page #container_header {position:relative;z-index:2;}
#container_page #container_body {position:relative;}

它为何有效

你必须告诉IE两个div如何相互关联.

css – 使用类定位第一个,偶数/奇数和最后一个元素,没有包装器,以及其他元素(第n类行为):)

css – 使用类定位第一个,偶数/奇数和最后一个元素,没有包装器,以及其他元素(第n类行为):)

我有以下结构:
<div>
  <div>1. Element</div>
  <div>2. Element</div>
  <div>3. Element</div>
  <div>1. Element with spec. Class</div>
  <div>2. Element with spec. Class</div>
  <div>3. Element with spec. Class</div>
  <div>4. Element with spec. Class</div>
  <div>5. Element with spec. Class</div>
  <div>9. Element</div>
  <div>10. Element</div>
  <div>11. Element</div>
</div>

之前和之后可能存在未知数量的多个元素,并且我无法使用class =“alternate”在元素周围添加“包装”div. (一切都会好的).

我想给第一个.alternate元素一个边框顶部,最后一个.alternate元素一个边框底部.并且所有.alternate元素应该为每一行(偶数/奇数)具有不同的背景颜色.

我已经尝试过不同的方式了,我知道nth-of-type和nth-child不起作用,因为我的.alternate元素周围没有包装div,所以它不能工作,因为所有元素都是计算偶数/奇数等等.

所以我用问题和可能的解决方案制作了一支笔:

http://codepen.io/emjay/pen/RpyyOo

我想问你,最好的方法是什么 – 不用改变结构 – .有一个工作的CSS只有解决方案吗?

谢谢你的帮助!

解决方法

对于第一个问题(将border-top添加到第一个.alternate元素,将border-bottom添加到最后一个.alternate元素),您可以通过单独添加border-top来实现:

>第一个.alternate元素紧跟在一个元素上,该元素使:not()具有.alternate类,并且,
>也是第一个没有.alternate类的元素,它紧跟在一个元素之后.

在第一个.alternate元素之前没有元素的情况下,您还需要将border-top添加到.alternate元素,该元素也是:first-child,并且在最后一个元素之后没有元素的情况下.alternate,您需要将border-bottom添加到.alternate元素,该元素也是:last-child.

对于关于“斑马条纹”的第二个问题,.alternate元素,假设奇数或偶数元素是否具有交替背景是无关紧要的,你可以用一个简单的:nth-​​of-type()(或:nth-​​child( ))伪类.但是,如果您需要第一个.alternate元素始终具有相同的背景而不管其前面的元素数量,您将需要求助于JavaScript – 仅使用CSS就可以实现,但需要大量的选择器(请参阅this answer)举个例子).

(function(){
  var wrappers=document.querySelectorAll(".elementWrapper"),x=wrappers.length,divs,y,alt;
  while(x--){
    divs=wrappers[x].querySelectorAll(".alternate");
    y=divs.length;
    alt=!(y%2);
    while(y--)
      divs[y].classList.add((alt=!alt)?"odd":"even");
  }
})();
/** JQuery **/
//$('.alternate:odd').addClass('odd')
//$('.alternate:even').addClass('even');
.elementWrapper>div:not(.alternate)+div.alternate,.elementWrapper>div.alternate+div:not(.alternate),.elementWrapper>div.alternate:first-child{
  border-top:1px solid #000;
}
.elementWrapper>div.alternate:last-child{
  border-bottom:1px solid #000;
}
.elementWrapper>div.alternate.odd{
  background:#ccc;
}
.elementWrapper>div.alternate.even{
  background:#eee;
}

/** Uncomment below for css-only zebra-striping **/
/*.elementWrapper>div.alternate:nth-of-type(odd){
  background:#ccc;
}
.elementWrapper>div.alternate:nth-of-type(even){
  background:#eee;
}*/

/** "housekeeping" **/.elementWrapper{background:#fff;color:#000;margin:0 0 20px;}.elementWrapper>div{font-family:sans-serif;font-size:14px;overflow:hidden;padding:5px;text-overflow:ellipsis;white-space:Nowrap;}
<div>
  <div>1. Element</div>
  <div>1. Element with spec. Class</div>
  <div>2. Element with spec. Class</div>
  <div>3. Element with spec. Class</div>
  <div>4. Element with spec. Class</div>
  <div>5. Element with spec. Class</div>
  <div>9. Element</div>
</div>
<div>
  <div>1. Element</div>
  <div>2. Element</div>
  <div>1. Element with spec. Class</div>
  <div>2. Element with spec. Class</div>
  <div>3. Element with spec. Class</div>
  <div>4. Element with spec. Class</div>
</div>

我们今天的关于如何显示一个块的前N个元素并隐藏在css中的其他元素?css显示块级元素的分享就到这里,谢谢您的阅读,如果想了解更多关于c – 如何获取std :: map的前n个元素、c# – 如何使用LinQ获取列表的前N个元素?、css – 下拉菜单隐藏在IE中的其他元素后面、css – 使用类定位第一个,偶数/奇数和最后一个元素,没有包装器,以及其他元素(第n类行为):)的相关信息,可以在本站进行搜索。

本文标签: