小编Gni*_*ohz的帖子

clearfix类在css中做了什么?

我看过div标签clearfix在孩子divs使用该float属性时使用了一个类.clearfix类如下所示:

.clearfix:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}
.clearfix {
    display: inline-block;
}
.clearfix {
    display: block;
}
Run Code Online (Sandbox Code Playgroud)

我发现如果我clearfix在使用该bottom-border属性时不使用,边框将显示在孩子上方divs.有人可以解释一下clearfix类的作用吗?另外,为什么有两个display属性?这对我来说似乎很奇怪.我特别好奇这content:'.'意味着什么.

谢谢,G

html css clearfix

86
推荐指数
3
解决办法
16万
查看次数

Twitter Bootstrap文本字段的高度太小了?

我正在使用bootstrap,我发现文本字段的高度太小.它不到10px.我想知道它是小还是我犯了一些错误.

我用firebug来检查文本区域.它说高度是18px,这对我来说似乎不可能......而我得到的就像我从这里得到的一样.来自bootstrap示例的文本区域.这让我很困惑......我得到的是

input, textarea, select, .uneditable-input {
  border: 1px solid #CCCCCC;
  border-radius: 3px 3px 3px 3px;
  color: #555555;
  display: inline-block;
  font-size: 13px;
  height: 18px;
  line-height: 18px;
  margin-bottom: 9px;
  padding: 4px;
}
Run Code Online (Sandbox Code Playgroud)

高度表示它是18px,但它不是......有人可以帮忙吗?!

css twitter-bootstrap

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

将事件附加到SVG路径

我在带有<svg>标签的html中有一张SVG地图.我想附加事件,以便我可以点击它们并触发一些事件.我知道我可以在多边形元素上使用jQuery附加click事件.但是这个地图中的某些区域是使用路径制作的,当我点击路径内部而不是路径时,我想触发一些事件.

这样做的方法是什么?使用jQuery是首选.

javascript jquery svg

23
推荐指数
1
解决办法
3万
查看次数

编写shellcode:为什么我的shellcode不起作用?

我目前正在编写一个shellcode,它利用了使用该puts函数的目标程序.该程序如下所示:

#include <stdio.h>
main() {
    char buf[123];
    puts(gets(buf));
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是溢出这个缓冲区并execve使用一些参数调用.我有一个用c/inline程序集编写的测试程序,可以execve用一些参数调用,然后我用来gdb从这个程序中获取shellcode.根据我的理解,堆栈布局如下所示:

| -------缓冲液(+填充)--------- | --------- --------- SFP | ------- RET ------------- |

通过查看gcc生成的目标程序的部分汇编代码:

.cfi_startproc                  
pushq   %rbp                    
.cfi_def_cfa_offset 16          
.cfi_offset 6, -16              
movq    %rsp, %rbp              
.cfi_def_cfa_register 6         
addq    $-128, %rsp             
leaq    -128(%rbp), %rax        
movq    %rax, %rdi              
call    gets                    
movq    %rax, %rdi              
call    puts                    
leave                           
.cfi_def_cfa 7, 8               
ret                             
.cfi_endproc       
Run Code Online (Sandbox Code Playgroud)

我认为缓冲区和填充占用128个字节,sfp和返回地址各占8个字节,因此总共有144个字节.基于此,我的nop sled,payload和新的返回地址(等于缓冲区的地址)组合(即我的shellcode)也应该是144个字节.例如,如果我的有效载荷是36个字节,因为返回地址占用8个字节,我的nop sled将是100个字节.但是当我这样做的时候它没有用.所以我想也许我理解堆栈布局的方式是错误的.这是错的吗?

请注意,在我的情况下,缓冲区地址是已知的,并且堆栈通过使用设置为可执行,execstack并且使用了ASLR setarch …

shellcode

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

Bootstrap js插件源代码如何$('body').on('focus.typeahead.data-api','[data-provide ="typeahead"]',函数(e)如何工作?

我正在查看bootstrap的js插件,即bootstrap-typeahead.js.我无法弄清楚如何选择元素.

$('body').on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) 
Run Code Online (Sandbox Code Playgroud)

我知道元素实际上是由数据提供部分选择的,但是当我查看jquery.js时,我无法弄清楚它是如何完成的.从.on()部分我去了event.add()部分然后我变得更加困惑.任何人都可以告诉我这是怎么做的

我知道什么是这样,但想知道如何元素.如何选择?我需要更多的想法.

jquery twitter-bootstrap

7
推荐指数
1
解决办法
2096
查看次数

shellcode:在x86_64程序集中将参数传递给execve

我正在尝试编写一个运行execve的shellcode.等效的c程序如下所示:

int main ()
{

  char *argv[3] = {"/bin/sh","-i", "/dev/tty", NULL};
  execve("/bin/sh", argv, NULL);

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

c程序运行正常.然后我尝试编写我的测试程序(修改为推送null):

#include<stdio.h>
int main(){
    __asm__(
            "xor    %rdx,%rdx\n\t"   //rdx is the third argument for execve, null in this case.
            "push   %rdx\n\t"
            "mov    -8(%rbp),%rdx\n\t"
            "mov    $0x692d,%rdi\n\t" //$0x6924 is 'i-'
            "push   %rdi\n\t"         //push '-i' to the stack
            "lea    -16(%rbp),%rax\n\t"    //now rax points to '-i'
            "mov    $0x31b7f54a83,%rdi\n\t" //the address of /bin/sh
            "push   %rdi\n\t"                //push it to the stack              
            "push   %rdx\n\t"                //end the array with null
            "mov    $0x31b7e43bb3,%rdi\n\t" …
Run Code Online (Sandbox Code Playgroud)

c assembly shellcode

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

为什么人们说 C 更有效率?

人们总是说 C 比任何其他高级语言都更高效。我不明白为什么。我知道汇编是高效的,因为它与机器语言有密切的关系。

但是 C 和 C++ 或 ruby​​,可以说,它们都会被“翻译”成机器语言,对吗?更高效,是否意味着机器代码更好,或者“翻译”成机器代码所需的时间更少?如果有一些编译器或解释器可以产生更快的速度,并且产生更好的机器代码怎么办?

c performance programming-languages

5
推荐指数
1
解决办法
4771
查看次数

当您向scanf("%d",&argu)输入12ab之类的内容时会发生什么?

当我想检查输入的数字时,我遇到了这个问题.如果我成功输入数字,scanf函数将返回1.所以这就是我写的:

int argu;
while(scanf("%d",&argu)!=1){
    printf("Please input a number!\n");
}
Run Code Online (Sandbox Code Playgroud)

但是当我输入像abcd这样的东西时,循环将会永远存在而不会停止提示.

我在网上查了一下,发现它与缓存有关,我需要清理它,以便scanf可以获得新数据.所以我尝试了fflush,但它没有用.

然后我看到了这个:

int argu,j;
while(scanf("%d",&argu)!=1){
    printf("Please input a number!\n");
    while((j=getchar())!='\n' && j != '\n');
}
Run Code Online (Sandbox Code Playgroud)

然后,当我输入像'abcd'这样的东西时,它运作良好,并提示我输入.但是当我输入像"12ab"这样的东西时,它就不会再起作用了.

那么我有没有办法检查scanf的输入("%d",&argu)实际上是一个数字,如果不是,则提示输入另一个输入?

编辑:

我看到了答案并通过使用解决了我的问题scanf.

请注意,该abcd函数实际上是对数组读取'\n'而scanf不是.所以要小心.

c scanf

5
推荐指数
1
解决办法
2745
查看次数

为什么"is"关键字不在这里工作?

我知道这is用于比较两个对象是否相同但是==是否相等.根据我的经验is总是为数字工作,因为Python重用数字.例如:

>>>a = 3
>>>a is 3
True
Run Code Online (Sandbox Code Playgroud)

is每当我将某些东西与数字进行比较时,我习惯使用它.但是is下面这个程序不起作用:

from collections import namedtuple
# Code taken directly from [Udacity site][1].
# make a basic Link class
Link = namedtuple('Link', ['id', 'submitter_id', 'submitted_time', 'votes',
                           'title', 'url'])

# list of Links to work with
links = [
    Link(0, 60398, 1334014208.0, 109,
         "C overtakes Java as the No. 1 programming language in the TIOBE index.",
         "http://pixelstech.net/article/index.php?id=1333969280"),
    Link(1, 60254, 1333962645.0, 891,
         "This explains why technical …
Run Code Online (Sandbox Code Playgroud)

python integer

5
推荐指数
2
解决办法
267
查看次数

为我解释bootstrap-alert.js?

我正在使用bootstrap,我查看了它的jQuery插件bootstrap-alert.js,我无法得到它.代码发布如下:

!function( $ ){

  "use strict"

 /* ALERT CLASS DEFINITION
  * ====================== */

  var dismiss = '[data-dismiss="alert"]'
    , Alert = function ( el ) {
        $(el).on('click', dismiss, this.close)
      }

  Alert.prototype = {

    constructor: Alert

  , close: function ( e ) {
      var $this = $(this)
        , selector = $this.attr('data-target')
        , $parent

      if (!selector) {
        selector = $this.attr('href')
        selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
      }

      $parent = $(selector)
      $parent.trigger('close')

      e && e.preventDefault()

      $parent.length || ($parent = …
Run Code Online (Sandbox Code Playgroud)

jquery twitter-bootstrap

4
推荐指数
1
解决办法
8024
查看次数