我看过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
我正在使用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,但它不是......有人可以帮忙吗?!
我在带有<svg>标签的html中有一张SVG地图.我想附加事件,以便我可以点击它们并触发一些事件.我知道我可以在多边形元素上使用jQuery附加click事件.但是这个地图中的某些区域是使用路径制作的,当我点击路径内部而不是路径时,我想触发一些事件.
这样做的方法是什么?使用jQuery是首选.
我目前正在编写一个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 …
我正在查看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()部分然后我变得更加困惑.任何人都可以告诉我这是怎么做的?
我知道什么是这样,但想知道如何元素.如何选择?我需要更多的想法.
我正在尝试编写一个运行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 比任何其他高级语言都更高效。我不明白为什么。我知道汇编是高效的,因为它与机器语言有密切的关系。
但是 C 和 C++ 或 ruby,可以说,它们都会被“翻译”成机器语言,对吗?更高效,是否意味着机器代码更好,或者“翻译”成机器代码所需的时间更少?如果有一些编译器或解释器可以产生更快的速度,并且产生更好的机器代码怎么办?
当我想检查输入的数字时,我遇到了这个问题.如果我成功输入数字,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不是.所以要小心.
我知道这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) 我正在使用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)