相关疑难解决方法(0)

CSS:仅在以后的兄弟存在时选择元素

在我的HTML结构中,我设置如下:

<body>
   <main>
      <section>
      ...
      </section>

      <aside>
      ...
      </aside>
   </main>
</body>
Run Code Online (Sandbox Code Playgroud)

问题是,并非所有页面都有 <aside>

我需要选择<section>max-width: 500px; <aside>存在时给它一个.默认值是section { max-width: 1000px; }(何时<aside>不存在)

选择器不同,一个标签后面跟着另一个标签 ; 用户[提问]想要一直设置"B"样式.此外,在这个问题中,用户想要选择"B"(不是"A")


  • <section>如果<aside>存在,我只需要设计样式.
  • 我无法更改HTML> _ <的顺序
  • 它只能用CSS完成吗?
  • 我需要什么选择器或如何设置它?
  • 如果不能用CSS完成(我宁愿它只是CSS),我怎么能做到这一点?

html javascript css css-selectors css3

17
推荐指数
2
解决办法
9612
查看次数

如何将CSS规则应用于HTML中的上一个和下一个元素?

例如:

你有这个:

<ul>
 <li>zero</li>
 <li>one</li>
 <li class="selected">two</li>
 <li>three</li>
 <li>more elements</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

CSS:

.selected:previous {
   color: red;
}

.selected:next {
   color: green;
}
Run Code Online (Sandbox Code Playgroud)

那有可能吗?

html css browser cross-browser stylesheet

16
推荐指数
2
解决办法
4万
查看次数

最好的方法来并排排列标签和输入

如果不使用表格display:table,是否可以为输入左侧的标签设置灵活的宽度区域?出于浏览器兼容性原因,我还想避免网格布局.我希望css能够解决这个问题:

short_label   input_box____________________
tiny_label    input_box____________________
medium_label  input_box____________________
Run Code Online (Sandbox Code Playgroud)

然后还相应处理更大的标签:

short_label            input_box__________
medium_label           input_box__________
very_extra_long_label  input_box__________
Run Code Online (Sandbox Code Playgroud)

但我不想要:

short_label            input_box__________
tiny_label             input_box__________
medium_label           input_box__________
Run Code Online (Sandbox Code Playgroud)

因此第一列需要具有灵活的宽度,第二列需要增长以填充空间.我的html理想情况下看起来像这样,但如果有必要,可以添加"行"div.我觉得有一个灵活的答案,但也许不是因为所有行都需要对齐.

<div class='aligned_form'>

  <label for='a'>short_label</label>
  <input type='text' id='a'>

  <label for='b'>medium_label</label>
  <input type='text' id='b'>

  <label for='c'>very_extra_long_label</label>
  <input type='text' id='c'>

</div>
Run Code Online (Sandbox Code Playgroud)

html css css3 flexbox twitter-bootstrap

16
推荐指数
2
解决办法
5350
查看次数

CSS选择器如果存在于兄弟姐妹附近

我有以下(简化)HTML结构

<td> 
    <DIV class="t-numerictextbox">
        <DIV class="t-formatted-value">$0.00</DIV>
        <INPUT id="MyObj_PropertyName class="t-input" name="MyObj.PropertyName">
    </DIV>
    <SPAN class="field-validation-error" data-valmsg-for="MyObj.PropertyName">blah blah</SPAN> 
</td>
Run Code Online (Sandbox Code Playgroud)

如果span元素也存在,我想要做的是将父div.t-numerictextbox的背景颜色设置为红色.在相邻的兄弟上执行此条件选择的css语法是什么?

顺便说一句,我需要这个必须适用于IE 8.

背景,如果你很好奇:

我有一个asp.net MVC应用程序,并使用Telerik MVC NumericTextBox控件.当我有ModelState验证错误时,MVC框架会自动在元素上插入class ="input-validation-error"属性,样式表会选择此类以突出显示红色元素.但是,它不适用于Telerik MVC控件(我假设因为Telerik的javascript覆盖了这个).

谢谢!

css css-selectors siblings

10
推荐指数
1
解决办法
2万
查看次数

如何在不更改html代码的情况下更改元素的顺序?

这些是3 inline-block和元素,这意味着它们将彼此相邻排序.

这是一个观看现场活动的小提琴:https://jsfiddle.net/8mdm8eox/

.wrapper {
  background: #fff;
  width: 100%
}

.firstElement,
.secondElement,
.thirdElement {
  display: inline-block;
  width: calc(100%/3)
}

.firstElement {
  background: #000;
  color: #fff
}

.secondElement {
  background: grey
}

.thirdElement {
  background: #ddd
}

@media (max-width: 767px) {}
Run Code Online (Sandbox Code Playgroud)
<div class="wrapper">
  <div class="firstElement">First Element</div>
  <div class="secondElement">Second Element</div>
  <div class="thirdElement">Third Element</div>
</div>
Run Code Online (Sandbox Code Playgroud)

所以这就是我想要的,我想在屏幕宽度为767px或更低时:

@media (max-width: 767px){}
Run Code Online (Sandbox Code Playgroud)

前两个元素是垂直排序的,第三个元素是与另外两个元素水平排序的,所以它们变成了:

   _______________    ________________
   |First Element|    |?              |
   _______________    |              |  
                      |Third Element |
   ________________   |              |
   |Second Element|   |              | …
Run Code Online (Sandbox Code Playgroud)

html css css3

10
推荐指数
2
解决办法
1135
查看次数

如果特定元素位于您要选择的元素之后,如何使用CSS来选择元素?

使用CSS和下面的例子,有没有办法只选择<p>后面的<ul>'s?

如果没有,什么是jQuery选择器,还是需要if声明?

<p>Hello there.</p>

<p>Select this para!</p>
<ul>
    <li>list item</li>
</ul>

<ul>
    <li>don't select this list! :)</li>
</ul>

<p>And don't select this paragraph! :)</p>
Run Code Online (Sandbox Code Playgroud)

html css jquery css-selectors css3

9
推荐指数
3
解决办法
9028
查看次数

如何在使用纯CSS悬停按钮时显示文本字段?

当你悬停按钮时,有没有办法只使用纯CSS代码来显示文本字段?

<form id="demo">
    <input type="text" id="search-field" name="s" placeholder="Search">
    <input type="submit" id="search-icon">
    <i class="fa fa-search"></i>
</form>
Run Code Online (Sandbox Code Playgroud)

文本字段应隐藏,仅在您悬停按钮时显示.我不确定它只能通过CSS完成.:/

html css forms button hover

9
推荐指数
1
解决办法
1554
查看次数

使用CSS将鼠标悬停在重叠元素上时,样式悬停状态

我有一个包含几个div的DOM结构.在视觉上,这些Div中的一些是其他人的孩子,但在DOM结构中他们都是兄弟姐妹.

我需要设置"父"div的悬停状态,即使悬停在其"子"div上也是如此.

有没有Javscript这样做的方法?也许通过使用div的当前位置来知道它们在另一个div中?


更新


问题是父母实际上是兄弟姐妹.只有一个容器,让我们说8个孩子.2是更大的div,其他6个在每个更大的div内显示3.就像是:

http://jsfiddle.net/XazKw/12/

只有徘徊的孩子周围的父母才能改变颜色.

我无法改变BTW的DOM结构.

html css

8
推荐指数
1
解决办法
2224
查看次数

我可以仅使用CSS检测元素可见性吗?

我检查了API的一些伪选择器,如:visible:hidden,但很遗憾发现没有这样的选择器存在.既然jQuery已经支持这些选择器一段时间了,我希望它们能够被实现.我的想法是,我只想在隐藏它旁边的元素时显示某个元素,但我不想使用JavaScript这样做.任何选择?

css sass

7
推荐指数
2
解决办法
2万
查看次数

CSS选择以前的兄弟姐妹

我有一个进度条,有两个孩子(部分).每当这些孩子都徘徊时,进步及其子女的总高度就会发生变化.我设法解决了第一个使用的孩子,next sibling selector但我找不到第二个孩子的解决方案(黄色部分).到目前为止,我已经使用jQuery解决了这个问题,但我想在纯CSS中做到这一点.

小提琴:https://jsfiddle.net/zfh263r6/5/

$('#start').on({
  mouseenter: function () {
	  //$(this).css('height', '4px');
      //$( 'progress' ).css('height', '4px');
  },
  mouseleave: function () {
	  //$(this).css('height', '');
     // $( 'progress' ).css('height', '');
  }
});
Run Code Online (Sandbox Code Playgroud)
#progress_wrap {
    position: relative;
    height: 4px; /*max height of progress*/
    background: #f3f3f3;
}

progress {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    width: 100%;
    border:none;
    height: 2px;
    transition:all .25s ease-in;
    cursor: pointer;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
}

progress:hover, progress:hover + #start …
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

6
推荐指数
1
解决办法
4693
查看次数